# nodes

node_type: n8n-nodes-scraperapi-official.scraperApi
package_name: n8n-nodes-scraperapi-official
display_name: ScraperAPI
description: Official ScraperAPI nodes for n8n
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: scraperapi
author_github_url: https://github.com/scraperapi/
npm_package_name: n8n-nodes-scraperapi-official
npm_version: 1.1.0
community_fetched_at: 2026-02-19T14:41:52.465Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "api",
      "options": [
        {
          "name": "API",
          "value": "api"
        },
        {
          "name": "Crawler",
          "value": "crawler"
        }
      ],
      "required": true,
      "description": "Choose your ScraperAPI resource",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "apiRequest",
      "options": [
        {
          "name": "Send a Request",
          "value": "apiRequest",
          "action": "Send a request to the API"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "api"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "crawlerJobCreate",
      "options": [
        {
          "name": "Initiate a Crawler Job",
          "value": "crawlerJobCreate",
          "action": "Initiate a crawler job"
        },
        {
          "name": "Get a Job Status",
          "value": "crawlerJobGet",
          "action": "Get a job status"
        },
        {
          "name": "Cancel a Crawler Job",
          "value": "crawlerJobDelete",
          "action": "Cancel a crawler job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "crawler"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send a Request",
      "value": "apiRequest",
      "action": "Send a request to the API"
    },
    {
      "name": "Initiate a Crawler Job",
      "value": "crawlerJobCreate",
      "action": "Initiate a crawler job"
    },
    {
      "name": "Get a Job Status",
      "value": "crawlerJobGet",
      "action": "Get a job status"
    },
    {
      "name": "Cancel a Crawler Job",
      "value": "crawlerJobDelete",
      "action": "Cancel a crawler job"
    }
  ]

npm_readme:
  # ScraperAPI Official N8N Node

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

  **ScraperAPI** is a solution to help you unlock and scrape any website, no matter the scale or difficulty. It handles proxies, browsers, and CAPTCHAs so you can focus on extracting the data you need.

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

  ## Table of Contents

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Usage](#usage)
  - [Resources](#resources)
  - [Parameters](#parameters)
  - [Documentation](#documentation)
  - [Version History](#version-history)
  - [More ScraperAPI Integrations](#more-scraperapi-integrations)

  ## Installation

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

  ### From the npm registry.

  1. Go to Settings > Community Nodes.
  2. Select Install.
  3. Write [`n8n-nodes-scraperapi-official`](https://www.npmjs.com/package/n8n-nodes-scraperapi-official) in the package name.
  4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes: select I understand the risks of installing unverified code from a public source.
  5. Select Install. n8n installs the node, and returns to the Community Nodes list in Settings.

  ## Operations

    - API
      - Send a Request
    - Crawler
      - Initiate a crawler job
      - Get a job status
      - Cancel a crawler job

  ## Credentials

  ### Getting Your API Key

  1. Sign up for a ScraperAPI account at [ScraperAPI Dashboard](https://dashboard.scraperapi.com/signup)
  2. Once logged in, navigate to your dashboard
  3. Copy your API key from the dashboard

  ### Configuring Credentials in n8n

  1. In your n8n workflow, add a **ScraperAPI** node
  2. Click on the **Credential to connect with** field
  3. Click **Create New Credential**
  4. Enter your API key
  5. Click **Save**

  The credentials will be automatically tested to ensure they work correctly.

  For more information, see the [ScraperAPI API Key Documentation](https://docs.scraperapi.com/dashboard-and-billing/api-key).

  ## Usage

  The ScraperAPI node supports two resources:

  - **API**: Scrape a single URL with a GET request. The node handles proxies, browser automation, and CAPTCHA solving.
  - **Crawler**: Run multi-page crawler jobs that follow links from a start URL and stream results to a webhook.

  1. Add a **ScraperAPI** node to your workflow
  2. Select the ScraperAPI resource, for example the **API**
  3. Enter the required parameters, for example the **URL** you want to scrape
  4. Configure any optional parameter you need
  5. Execute the workflow

  The node returns a JSON object with the following structure:

  ```json
  {
    "resource": "api",
    "response": {
      "body": "...",
      "headers": {...},
      "statusCode": 200,
      "statusMessage": "OK"
    }
  }
  ```

  ## Resources

  ### API

  The **API** resource allows you to scrape any website using ScraperAPI's endpoint. It supports:

  - JavaScript rendering for dynamic content
  - Geo-targeting with country codes
  - Device-specific user agents (desktop/mobile)
  - Premium and ultra-premium proxy options
  - Automatic parsing of structured data for select websites
  - Multiple output formats (markdown, text, CSV, JSON)

  #### Parameters

  #### Required Parameters

  - **URL**: The target URL to scrape (e.g., `https://example.com`)

  #### Optional Parameters

  - **Autoparse**: Whether to activate auto parsing for select websites. When enabled, ScraperAPI will automatically parse structured data from supported websites (JSON format by default).
  - **Country Code**: Two-letter ISO country code (e.g., `US`, `GB`, `DE`) for geo-targeted scraping.
  - **Desktop Device**: Whether to scrape the page as a desktop device. **Note**: Cannot be combined with Mobile Device.
  - **Mobile Device**: Whether to scrape the page as a mobile device. **Note**: Cannot be combined with Desktop Device.
  - **Output Format**: Output parsing format for the scraped content. Available options:
    - **Markdown**: Returns content in Markdown format.
    - **Text**: Returns content as plain text.
    - **CSV**: Returns content in CSV format. **Note**: Only available for autoparse websites.
    - **JSON**: Returns content in JSON format. **Note**: Only available for autoparse websites.

    If not specified, the content will be returned as HTML.
  - **Render**: Enable JavaScript rendering for pages that require JavaScript to load content. Set to `true` only when needed, as it increases processing time.
  - **Premium**: Use premium residential/mobile proxies for higher success rates. This option costs more but provides better reliability. **Note**: Cannot be combined with Ultra Premium.
  - **Ultra Premium**: Activate advanced bypass mechanisms for the most difficult websites. This is the most powerful option for sites with advanced anti-bot protection. **Note**: Cannot be combined with Premium.

  ### Crawler

  The **Crawler** resource uses the [ScraperAPI Crawler API](https://docs.scraperapi.com/scraperapi-crawler-v2.0/crawler-api/job-lifecycle) to run crawling jobs to discover and scrapes multiple pages, streaming results to a webhook you provide.

  #### Crawler Operations

  - **Initiate a Crawler Job**: Create and start a new crawler job. You receive a `jobId` to track or cancel the job.
  - **Get a Job Status**: Check the current state of a job.
  - **Cancel a Crawler Job**: Stop a running job.

  #### Required Parameters

  - Initiate a Crawler Job
    - **Start URL**: The URL where crawling begins (depth 0).
    - **Max Depth** or **Crawl Budget**: You must set one of these. **Max Depth** is the maximum depth level (start URL = 0). **Crawl Budget** is the maximum ScraperAPI credits the job may consume.
    - **Regular Expression for URLs**: Regex used to decide which links to crawl from each page. Use `.*` to allow all pages on the site. Use [regex101](https://regex101.com/) for testing.
    - **Callback URL**: Webhook URL where ScraperAPI sends results. Both successful and failed scrape attempts are streamed here; when the job finishes, a job summary is also sent.
  - Get Status / Cancel
    - **Job ID**: The crawler job ID returned when you initiated the job.

  #### Optional Parameters

  - Initiate a Crawler Job
    - **Regular Expression for URLs EXCLUDED**: Regex to skip URLs (e.g. `.*/product/.*`). Leave empty to crawl all URLs that pass the include regex.
    - **API Parameters**: Per-page scrape settings (country code, device, render, premium, output format, etc.). Supported options are documented above in the API resource.
    - **Enabled**: When `true`, the crawler runs according to the schedule. When `false`, only the crawler configuration is created; the job does not run. Defaults to `true`.
    - **Schedule Name**: Name for the crawler (e.g. for the dashboard).
    - **Schedule Interval**: When the crawler runs: `once`, `hourly`, `daily`, `weekly`, or `monthly`.

  ## Documentation

  - [ScraperAPI Official Documentation](https://docs.scraperapi.com)

  ## Version History

  - **0.1.1**: Initial release with API resource support
  - **0.1.2**: Usage added to Documentation
  - **0.2.0**: Replace device_type options field with desktopDevice and mobileDevice boolean fields to support AI model auto-definition.
  - **1.0.0**: output_format and autoparse parameters supported.
  - **1.1.0**: Crawler resource: initiate crawler jobs, get job status, and cancel jobs.

  ## More ScraperAPI Integrations

  ### MCP Server

  ScraperAPI also provides an **MCP (Model Context Protocol) server** that enables AI models and agents to scrape websites.

  #### Hosted MCP Server

  ScraperAPI offers a hosted MCP server that you can use with n8n's [MCP Client Tool](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/).

  **Configuration Steps:**

  1. Add an **MCP Client Tool** node to your workflow
  2. Configure the following settings:
     - **Endpoint**: `https://mcp.scraperapi.com/mcp`
     - **Server Transport**: `HTTP Streamable`
     - **Authentication**: `Bearer Auth`
     - **Credential for Bearer Auth**: Enter your ScraperAPI API key as a Bearer Token.
     - **Tools to include**: `All` (or select specific tools as needed)

  #### Self-Hosted MCP Server

  If you prefer to self-host the MCP server, you can find the implementation and setup instructions in the [scraperapi-mcp repository](https://github.com/scraperapi/scraperapi-mcp).

ai_documentation_summary:
  {"purpose":"Provides an n8n node to use ScraperAPI for scraping single pages and running multi-page crawler jobs, handling proxies, browser rendering, and CAPTCHA solving so workflows can extract web data reliably.","capabilities":["API: scrape a single URL (GET) and return response body, headers, status","Crawler: initiate a crawler job (returns jobId)","Crawler: get job status","Crawler: cancel a crawler job","JavaScript rendering for dynamic content","Geo-targeting via two-letter country codes","Device-specific user agents (desktop or mobile)","Premium and Ultra Premium proxy options for higher success/bypass","Autoparse structured data (JSON by default) for supported websites","Multiple output formats: HTML (default), Markdown, Text, CSV (autoparse sites only), JSON (autoparse sites only)"],"authentication":"API key required","commonUseCases":["Scrape a single page (including JS-rendered pages) and extract HTML or parsed data","Run multi-page crawls that follow links from a start URL and stream results to a webhook","Geo-targeted scraping to fetch region-specific content","Use premium/ultra proxy options to access sites with strong anti-bot protections or CAPTCHAs","Automatically parse structured data from supported sites into JSON/CSV/Markdown"],"limitations":["API resource scrapes via a GET request (no other HTTP methods indicated)","Desktop and Mobile device options are mutually exclusive","Premium and Ultra Premium proxy options cannot be combined","Autoparse outputs (CSV, JSON) are available only for supported/autoparse websites","JavaScript rendering increases processing time and should be enabled only when needed"],"relatedNodes":["Webhook","HTTP Request"]}


node_type: n8n-nodes-google-search-console.googleSearchConsole
package_name: n8n-nodes-google-search-console
display_name: Google Search Console
description: Connect to Google Search Console API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: mrazari
author_github_url: https://github.com/mrazari/
npm_package_name: n8n-nodes-google-search-console
npm_version: 1.0.40
community_fetched_at: 2026-02-19T14:41:52.465Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "site",
      "options": [
        {
          "name": "Site",
          "value": "site"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getSites",
      "options": [
        {
          "name": "Get Sites",
          "value": "getSites",
          "action": "List verified sites"
        },
        {
          "name": "Get Page Insights",
          "value": "getPageInsights",
          "action": "Query search analytics"
        },
        {
          "name": "Inspect URL",
          "value": "inspectUrl",
          "action": "Url inspection index status"
        },
        {
          "name": "Compare Page Insights",
          "value": "comparePageInsights",
          "action": "Compare search analytics between two date ranges"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "site"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Sites",
      "value": "getSites",
      "action": "List verified sites"
    },
    {
      "name": "Get Page Insights",
      "value": "getPageInsights",
      "action": "Query search analytics"
    },
    {
      "name": "Inspect URL",
      "value": "inspectUrl",
      "action": "Url inspection index status"
    },
    {
      "name": "Compare Page Insights",
      "value": "comparePageInsights",
      "action": "Compare search analytics between two date ranges"
    }
  ]

npm_readme:
  # Google Search Console - n8n Custom Node

  This custom node for n8n allows you to connect to the official Google Search Console API and retrieve information about registered sites and their page performance.

  ## Features

  🔹 Fetch a list of sites registered under your Google Search Console account

  🔹 Retrieve performance insights for specific pages within a defined date range (clicks, impressions, CTR, and position)

  ## Operations

  ### 1. Get Sites

  Retrieves the list of sites registered in your Google Search Console account.

  ### 2. Get Page Insights

  Analyzes page performance based on the following parameters:

  * **Site URL**: Exact URL or domain property
  * **Start/End Date**: Define the time period
  * **Search Type**: Web / Image / Video / News
  * **Row Limit**: Number of rows to return
  * **Dimensions**: Choose from Page, Query, Country, or Device

  ## Requirements

  You must configure the following credentials to use this node:

  * **GoogleSearchConsoleOAuth2Api**

  Make sure to set up the credential using OAuth2 with the appropriate scopes for Google Search Console access.

  ## Notes

  * The `Site URL` must match the format of the property in your GSC account:

    * For domain property: `sc-domain:example.com`
    * For URL-prefix property: `https://www.example.com/`

  * An incorrect format or unregistered site will result in an "Invalid URL" error.

  ## Node Icon

  This node uses a simplified version of the official Google Search Console icon.

  ## Author

  Developed by [mrazari](https://mrazari.com), member of the [n8nir.ir](https://n8nir.ir) community — specializing in custom n8n nodes with TypeScript and official API integrations.

  ---

  Feel free to reach out for improvements, suggestions, or new feature requests.

ai_documentation_summary:
  {"purpose":"Connects to the Google Search Console API to list registered sites and retrieve page-level performance metrics (clicks, impressions, CTR, position) for use in n8n workflows.","capabilities":["Get Sites: fetch the list of sites registered in the connected Google Search Console account","Get Page Insights: retrieve page performance data (clicks, impressions, CTR, position)","Filter Page Insights by Site URL (domain or URL-prefix), Start/End Date, Search Type (Web/Image/Video/News)","Control result size with Row Limit","Aggregate or break down results by Dimensions: Page, Query, Country, Device"],"authentication":"OAuth2 required via GoogleSearchConsoleOAuth2Api credential (must configure OAuth2 with appropriate Google Search Console scopes)","commonUseCases":["Automated retrieval of registered sites for inventory or sync workflows","Periodic extraction of page performance metrics for reporting or dashboards","Monitoring clicks/impressions/CTR/average position over a date range","Segmenting performance by dimension (page, query, country, device) for analysis or alerting","Integrating GSC metrics into downstream workflows (CSV export, BI ingestion, notifications)"],"limitations":["Site URL must match the exact property format in Google Search Console (e.g., domain property: 'sc-domain:example.com' or URL-prefix: 'https://www.example.com/'); incorrect format or unregistered sites will return an 'Invalid URL' error"],"relatedNodes":[]}


node_type: @exploriumai/n8n-nodes-explorium-ai.exploriumApiNode
package_name: @exploriumai/n8n-nodes-explorium-ai
display_name: Explorium API
description: Streamlined interface for Explorium API operations
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: omerkurtz
author_github_url: https://github.com/explorium-ai/n8n-nodes-explorium-api.git
npm_package_name: @exploriumai/n8n-nodes-explorium-ai
npm_version: 1.2.4
community_fetched_at: 2026-02-19T14:41:52.466Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Match",
          "value": "match",
          "description": "Find and match businesses or prospects to get their Explorium IDs"
        },
        {
          "name": "Enrich",
          "value": "enrich",
          "description": "Add additional data to existing records"
        },
        {
          "name": "Fetch",
          "value": "fetch",
          "description": "Retrieve records with filters and pagination"
        },
        {
          "name": "Events",
          "value": "events",
          "description": "Get business or prospect events"
        },
        {
          "name": "Autocomplete",
          "value": "autocomplete",
          "description": "Get field suggestions and autocomplete values"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Match",
      "value": "match",
      "description": "Find and match businesses or prospects to get their Explorium IDs"
    },
    {
      "name": "Enrich",
      "value": "enrich",
      "description": "Add additional data to existing records"
    },
    {
      "name": "Fetch",
      "value": "fetch",
      "description": "Retrieve records with filters and pagination"
    },
    {
      "name": "Events",
      "value": "events",
      "description": "Get business or prospect events"
    },
    {
      "name": "Autocomplete",
      "value": "autocomplete",
      "description": "Get field suggestions and autocomplete values"
    }
  ]

npm_readme:
  # n8n-nodes-explorium-ai

  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
  [![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-green)](https://n8n.io)

  This project provides n8n community nodes for seamless integration with explorium.ai's powerful data enrichment and AI capabilities. With minimal setup required, you can leverage Explorium's features directly in your n8n workflows.

  ## Features

  ### 1. Explorium API Node
  Access all Explorium Agent Source API functions. Seamless integration with n8n workflows

  ### 2. Explorium MCP Node
  Direct integration with OpenAI through Explorium's Model Context Protocol (MCP)


  ## Prerequisites

  - n8n instance (self-hosted or cloud)
  - Explorium API Key
  - OpenAI API Key (for MCP node only)

  ## Installation

  1. Follow the [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/)
  2. Install this package in your n8n instance
  3. Configure the required environment variables

  ### Environment Variables

  Both nodes require the following environment variables:
  - `EXPLORIUM_API_KEY`: Your Explorium API key

  The MCP node additionally requires:
  - `OPENAI_API_KEY`: Your OpenAI API key

  ## Usage

  ### Getting Your API Keys

     - Visit [Explorium Developer Portal](https://developers.explorium.ai/reference/quick-starts)
     - Follow the steps to obtain your API key

     ![Get the Explorium api key](./assets/get-explorium-api-key.png)

  ### Node Configuration

  Example of configuring the node for Firmographic enrichment:
  ![Explorium MCP use example](./assets/api-config.png)

  ### Workflow Example

  Here's how to use the node in your workflow:
  ![Explorium MCP use example](./assets/use-the-node.png)


  ## Templates

  Find ready-to-use templates on the Explorium n8n Creator page and in our integrations-templates repository.

  Explorium n8n Creator page: https://n8n.io/creators/explorium/

  Integrations Templates GitHub repo: https://github.com/explorium-ai/integrations-templates

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Explorium Developer Documentation](https://developers.explorium.ai/)
  - [Model Context Protocol Documentation](https://modelcontextprotocol.io/docs/)
  - [AgentSource MCP Documentation](https://developers.explorium.ai/mcp-docs/agentsource-mcp)

  ## License

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

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

ai_documentation_summary:
  {"purpose":"Provides n8n community nodes to access Explorium's data enrichment and AI capabilities — an Explorium API node for Agent Source API functions and an MCP node to proxy OpenAI via Explorium's Model Context Protocol.","capabilities":["Call Explorium Agent Source API functions","Perform data enrichment (e.g., firmographic enrichment)","Proxy OpenAI requests via Explorium's Model Context Protocol (MCP)","Embed Explorium responses into n8n workflows and automations","Use ready-to-use templates from Explorium's n8n Creator and integrations-templates repo"],"authentication":"API key required (EXPLORIUM_API_KEY). MCP node additionally requires OPENAI_API_KEY for OpenAI integration.","commonUseCases":["Enrich records (firmographic and other feature enrichment) within workflows","Augment LLM prompts/context by routing OpenAI calls through Explorium MCP","Automate data enrichment as part of ETL or CRM workflows","Quickly deploy pre-built templates for common enrichment or AI tasks"],"limitations":[],"relatedNodes":["Explorium API Node","Explorium MCP Node","OpenAI (used via MCP integration)"]}


node_type: @notainc/n8n-nodes-gyazo.gyazo
package_name: @notainc/n8n-nodes-gyazo
display_name: Gyazo
description: Interact with Gyazo API for image list, get, search and upload operations
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: mountainboooy
author_github_url: https://github.com/nota/n8n-nodes-gyazo.git
npm_package_name: @notainc/n8n-nodes-gyazo
npm_version: 0.3.3
community_fetched_at: 2026-02-19T14:41:52.467Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Image",
          "value": "image"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get an image",
          "description": "Get a specific image by ID or URL"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List user images",
          "description": "Get a list of user's saved images"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for images",
          "description": "Search for images (Pro users only)"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an image attributes",
          "description": "Update image description and alt text"
        },
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload an image",
          "description": "Upload an image"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get an image",
      "description": "Get a specific image by ID or URL"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List user images",
      "description": "Get a list of user's saved images"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for images",
      "description": "Search for images (Pro users only)"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an image attributes",
      "description": "Update image description and alt text"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload an image",
      "description": "Upload an image"
    }
  ]

npm_readme:
  # n8n Nodes - Gyazo integration

  This is an n8n community node that integrates [Gyazo](https://gyazo.com) with your n8n workflows, so you can run Gyazo operations, manage images, and automate image sharing tasks.

  [Gyazo](https://gyazo.com) serves an API platform for developers to capture, share, and manage screenshots and images, while [n8n](https://n8n.io) is a fair-code licensed tool for AI workflow automation that allows you to connect various services.

  ## Table of contents

  - [n8n Nodes - Gyazo integration](#n8n-nodes---gyazo-integration)
    - [Table of contents](#table-of-contents)
    - [Installation (self-hosted)](#installation-self-hosted)
    - [Installation on n8n cloud](#installation-on-n8n-cloud)
    - [Installation for development and contributing](#installation-for-development-and-contributing)
    - [Operations](#operations)
      - [Image Operations](#image-operations)
        - [List](#list)
        - [Get](#get)
        - [Search](#search)
        - [Upload](#upload)
        - [Update](#update)
    - [Credentials](#credentials)
      - [Setting up Gyazo API Access](#setting-up-gyazo-api-access)
      - [Configuring credentials in n8n](#configuring-credentials-in-n8n)
    - [Compatibility](#compatibility)
    - [Usage](#usage)
      - [Basic Image Upload Workflow](#basic-image-upload-workflow)
      - [Search and Process Images](#search-and-process-images)
    - [Resources](#resources)
    - [Release](#release)
      - [Publishing to npm](#publishing-to-npm)
    - [Version History](#version-history)
    - [Troubleshooting](#troubleshooting)
      - [Authentication Issues](#authentication-issues)
      - [Invalid Resource Format](#invalid-resource-format)
      - [Upload Issues](#upload-issues)
      - [Rate Limiting](#rate-limiting)
      - [Node Not Appearing](#node-not-appearing)
    - [License](#license)

  ## Installation (self-hosted)

  For self-hosted n8n instances, you can install this community node by following these steps:

  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Select **Install**
  3. Enter `@notainc/n8n-nodes-gyazo` in the npm Package Name field
  4. Agree to the risks of using community nodes: select **I understand the risks of installing unverified code from a public source**
  5. Select **Install**

  After installation restart n8n to register the community node.

  ## Installation on n8n cloud

  For n8n cloud users:

  1. Go to **Settings > Community Nodes** in your n8n cloud instance
  2. Select **Install**
  3. Enter `@notainc/n8n-nodes-gyazo` in the npm Package Name field
  4. Select **Install**

  n8n cloud will automatically restart and register the community node.

  ## Installation for development and contributing

  To install this node for development:

  1. Clone this repository:

     ```bash
     git clone https://github.com/nota/n8n-nodes-gyazo.git
     cd n8n-nodes-gyazo
     ```

  2. Install dependencies:

     ```bash
     npm install
     ```

  3. Build the node:

     ```bash
     npm run build
     ```

  4. Link the node locally:

     ```bash
     npm link
     ```

  5. Install the node into your local n8n instance:

     ```bash
     # In your n8n custom nodes directory (usually ~/.n8n/custom/)
     npm link @notainc/n8n-nodes-gyazo
     ```

  6. Start n8n:
     ```bash
     n8n start
     ```

  ## Operations

  The Gyazo node supports the **Image** resource.

  ### Image Operations

  #### List

  Get a list of user's saved images with pagination support.

  **Parameters:**

  - **Page** (optional): Page number for pagination (default: 1)
  - **Per Page** (optional): Number of results per page, max 100 (default: 20)

  **Example output:**

  ```json
  [
  	{
  		"image_id": "abc123def456789012345678901234ef",
  		"permalink_url": "https://gyazo.com/abc123def456789012345678901234ef",
  		"thumb_url": "https://thumb.gyazo.com/thumb/200/_abc123def456789012345678901234ef.png",
  		"url": "https://i.gyazo.com/abc123def456789012345678901234ef.png",
  		"type": "png",
  		"created_at": "2024-01-15T10:30:00+0000"
  	}
  ]
  ```

  #### Get

  Retrieve a specific image by ID or URL.

  **Parameters:**

  - **Image**: Resource locator supporting:
    - **By ID**: 32-character hexadecimal string (e.g., `abc123def456789012345678901234ef`)
    - **By URL**: Full Gyazo URL (e.g., `https://gyazo.com/abc123def456789012345678901234ef`)

  **Example output:**

  ```json
  {
  	"image_id": "abc123def456789012345678901234ef",
  	"type": "png",
  	"created_at": "2024-01-15T10:30:00+0000",
  	"permalink_url": "https://gyazo.com/abc123def456789012345678901234ef",
  	"thumb_url": "https://thumb.gyazo.com/thumb/200/_abc123def456789012345678901234ef.png",
  	"url": "https://i.gyazo.com/abc123def456789012345678901234ef.png",
  	"metadata": {
  		"app": "n8n",
  		"title": "Screenshot",
  		"desc": "Automated screenshot"
  	}
  }
  ```

  #### Search

  Search for images using a query string with pagination support (Pro users only).

  **Parameters:**

  - **Query** (required): Search query for images
  - **Page** (optional): Page number for pagination (default: 1)
  - **Per Page** (optional): Number of results per page, max 100 (default: 20)

  **Example usage:**

  - Query: `"workflow diagram"`
  - Results: Images matching the search term

  #### Upload

  Upload an image to Gyazo.

  **Parameters:**

  - **Image Binary** (required): Name of the binary property containing image data (default: `data`)
  - **App Name** (optional): Application name (default: `n8n`)
  - **Collection ID** (optional): Collection ID to add image to
  - **Description** (optional): Description for the image
  - **Referer URL** (optional): Referer site URL
  - **Title** (optional): Title for the image

  **Example output:**

  ```json
  {
  	"type": "png",
  	"thumb_url": "https://thumb.gyazo.com/thumb/200/_def456abc123789012345678901234ef.png",
  	"created_at": "2024-01-15T11:00:00+0000",
  	"image_id": "def456abc123789012345678901234ef",
  	"permalink_url": "https://gyazo.com/def456abc123789012345678901234ef",
  	"url": "https://i.gyazo.com/def456abc123789012345678901234ef.png"
  }
  ```

  #### Update

  Update an existing image's description and alt text.

  **Parameters:**

  - **Image**: Resource locator supporting:
    - **By ID**: 32-character hexadecimal string (e.g., `abc123def456789012345678901234ef`)
    - **By URL**: Full Gyazo URL (e.g., `https://gyazo.com/abc123def456789012345678901234ef`)
  - **Description** (optional): Description for the image
  - **Alt Text** (optional): Alternative text for the image

  **Example output:**

  ```json
  {
  	"image_id": "abc123def456789012345678901234ef",
  	"type": "png",
  	"created_at": "2024-01-15T10:30:00+0000",
  	"permalink_url": "https://gyazo.com/abc123def456789012345678901234ef",
  	"thumb_url": "https://thumb.gyazo.com/thumb/200/_abc123def456789012345678901234ef.png",
  	"url": "https://i.gyazo.com/abc123def456789012345678901234ef.png",
  	"metadata": {
  		"app": "n8n",
  		"title": "Screenshot",
  		"desc": "Updated description",
  		"alt_text": "Updated alt text"
  	}
  }
  ```

  ## Credentials

  To use this node, you need to configure Gyazo API credentials:

  ### Setting up Gyazo API Access

  1. **Create a Gyazo account** at [gyazo.com](https://gyazo.com) if you don't have one
  2. **Register an application**:
     - Go to [Gyazo API Applications](https://gyazo.com/oauth/applications)
     - Click "Register new application"
     - Fill in your application details
  3. **Generate an access token**:
     - Use the OAuth flow or generate a personal access token

  ### Configuring credentials in n8n

  1. In your n8n workflow, add the Gyazo node
  2. Click on the credential dropdown and select "Create New"
  3. Choose "Gyazo API" from the credential types
  4. Enter your **Access Token** in the provided field
  5. Click "Save" to store the credentials

  The node will automatically use Bearer token authentication for all API requests.

  ## Compatibility

  This node is compatible with:

  - **n8n version**: 1.0.0 and above
  - **Node.js version**: 22.0.0 and above

  ## Usage

  ### Basic Image Upload Workflow

  1. **Add a trigger node** (e.g., Manual Trigger, Webhook)
  2. **Add the Gyazo node**:
     - Set Resource to "Image"
     - Set Operation to "Upload"
     - Configure the binary property name (default: "data")
  3. **Configure credentials** with your Gyazo API access token
  4. **Execute the workflow**

  ### Search and Process Images

  1. **Add the Gyazo node**:
     - Set Resource to "Image"
     - Set Operation to "Search"
     - Enter your search query
  2. **Process results** with additional nodes (e.g., filter, transform)
  3. **Use image URLs** in subsequent workflow steps

  ## Resources

  - [Gyazo API Documentation](https://gyazo.com/api/docs)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [n8n Creating Nodes Documentation](https://docs.n8n.io/integrations/creating-nodes/)

  ## Release

  This package follows semantic versioning. Current version: **0.3.3**

  ### Publishing to npm

  To publish a new version:

  1. Update the version in `package.json`
  2. Run `npm run build` to compile the TypeScript
  3. Run `npm run lint` to ensure code quality
  4. Run `npm publish` to publish to npm registry

  ## Version History

  - **0.3.3** - Removed requestDefaults from node definition
  - **0.3.2** - Fixed versioning issue in package.json
  - **0.3.1** - Unified node styles into the programmatic
  - **0.3.0** - Support updating image description and alt text, improved error handling
  - **0.2.0** - Removed support for collection operations, added Pro user restrictions for search
  - **0.1.0** - Initial release with image and collection operations

  ## Troubleshooting

  ### Authentication Issues

  **Problem**: "Unauthorized" or "Invalid access token" errors

  **Solution**:

  - Verify your access token is correct and hasn't expired
  - Ensure your Gyazo application has the necessary scopes

  ### Invalid Resource Format

  **Problem**: "Invalid Image ID format" or "Invalid Gyazo URL format" errors

  **Solution**:

  - Image IDs must be 32-character hexadecimal strings
  - Gyazo URLs must follow the format: `https://gyazo.com/{image_id}`

  ### Upload Issues

  **Problem**: Image upload fails or returns errors

  **Solution**:

  - Ensure the binary property contains valid image data
  - Check that the binary property name matches the configured parameter
  - Verify the image format is supported by Gyazo (PNG, JPEG, GIF)

  ### Rate Limiting

  **Problem**: "Too Many Requests" errors

  **Solution**:

  - Implement delays between requests using n8n's Wait node
  - Reduce the number of concurrent requests
  - Check Gyazo API rate limits in their documentation

  ### Node Not Appearing

  **Problem**: Gyazo node doesn't appear in n8n after installation

  **Solution**:

  - Restart your n8n instance after installing the community node
  - Check that the installation completed successfully
  - Verify the node appears in Settings > Community Nodes

  For additional support, please check the [GitHub repository](https://github.com/nota/n8n-nodes-gyazo) or refer to the [Gyazo API documentation](https://gyazo.com/api/docs).

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides n8n workflow nodes to interact with the Gyazo API so you can list, retrieve, search, upload, and update images programmatically within automation flows.","capabilities":["List images with pagination (page, per_page; per_page max 100)","Get a specific image by Gyazo ID or full Gyazo URL","Search images by query with pagination (Gyazo Pro accounts only)","Upload images from a binary property (specify binary field name) with optional metadata: app name, collection ID, description, referer URL, title","Update image metadata (description and alt text)"],"authentication":"API access token / credentials configured in n8n (Gyazo API credentials required)","commonUseCases":["Automatically upload screenshots or generated images from workflows to Gyazo","Retrieve or download saved images for further processing or storage","Search a user's Gyazo images (Pro) to find and act on matching screenshots","List images with pagination to build galleries or audit image sets","Update image descriptions/alt text as part of content enrichment workflows"],"limitations":["Only the Image resource is supported by this node","Search functionality requires a Gyazo Pro account","Per-page results limited to a maximum of 100","Rate limiting from Gyazo API may apply (handle and retry accordingly)","Community node installation required (install package and restart n8n)"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: openmic
author_github_url: https://github.com/OpenMicAI/
npm_package_name: n8n-nodes-openmic
npm_version: 0.1.5
community_fetched_at: 2026-02-19T14:41:52.467Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "phoneCall",
      "options": [
        {
          "name": "Phone Call",
          "value": "phoneCall"
        },
        {
          "name": "Bot",
          "value": "bot"
        },
        {
          "name": "Call",
          "value": "call"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create a Phone Call",
          "value": "create",
          "action": "Create a phone call"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "phoneCall"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Find Bot",
          "value": "get",
          "action": "Find a bot by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many bots"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "bot"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Find Call",
          "value": "get",
          "action": "Find a call by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many calls"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create a Phone Call",
      "value": "create",
      "action": "Create a phone call"
    },
    {
      "name": "Find Bot",
      "value": "get",
      "action": "Find a bot by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many bots"
    },
    {
      "name": "Find Call",
      "value": "get",
      "action": "Find a call by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many calls"
    }
  ]

npm_readme:
  # n8n-nodes-openmic

  This is the official n8n node for OpenMic. It provides nodes to interact with the OpenMic API for creating and managing voice AI agents.

  [OpenMic](https://openmic.ai) provides APIs for creating conversational AI agents with natural-sounding voices.

  ## Installation

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

  ## Operations

  ### Phone Call

  - **Create a Phone Call** - Initiate a phone call between two numbers with optional agent override, customer ID, dynamic variables, and callback URL.

  ### Bot

  - **Find Bot** - Retrieve a specific bot by its Agent UID.
  - **Get Many** - List all bots with optional filters (name, created date range) and limit.

  ### Call

  - **Find Call** - Retrieve a specific call by its Call UID.
  - **Get Many** - List all calls with optional filters (customer ID, phone numbers, bot ID, date range, call status, call type) and limit.
  - **Watch Call (Webhook Trigger)** - Watch a call by its Bot UID and trigger a webhook when the call is completed.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [OpenMic API Documentation](https://docs.openmic.ai)

  ## Support

  For support with this integration, please contact OpenMic support at team@openmic.ai or visit our [documentation](https://docs.openmic.ai).

ai_documentation_summary:
  {"purpose":"Provides n8n nodes to interact with the OpenMic API for creating and managing voice AI agents and phone calls, including initiating calls and retrieving bot/call data.","capabilities":["Create a Phone Call (initiate a phone call between two numbers with optional agent override, customer ID, dynamic variables, and callback URL)","Find Bot by Agent UID","List Bots (with optional filters: name, created date range, limit)","Find Call by Call UID","List Calls (with optional filters: customer ID, phone numbers, bot ID, date range, call status, call type, limit)","Watch Call (Webhook Trigger) — watch a call by Bot UID and trigger a webhook when the call is completed"],"authentication":"Not specified in README — refer to OpenMic API documentation (likely API key or token-based auth)","commonUseCases":["Initiate outbound phone calls using voice AI agents with dynamic variables and callbacks","Retrieve or list bots for management, auditing, or display in dashboards","Retrieve or list calls for reporting, troubleshooting, or analytics","Trigger n8n workflows when a call completes via the Watch Call webhook"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-scrapingbee.ScrapingBee
package_name: n8n-nodes-scrapingbee
display_name: ScrapingBee
description: Scrape websites using ScrapingBee
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: scrapingbee
author_github_url: https://github.com/ScrapingBee/scrapingbee-n8n.git
npm_package_name: n8n-nodes-scrapingbee
npm_version: 0.1.6
community_fetched_at: 2026-02-19T14:41:52.468Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "htmlAPI",
      "options": [
        {
          "name": "Amazon Product API",
          "value": "amazonProductAPI"
        },
        {
          "name": "Amazon Search API",
          "value": "amazonSearchAPI"
        },
        {
          "name": "ChatGPT API",
          "value": "chatgptAPI"
        },
        {
          "name": "Google Search API",
          "value": "googleSearchAPI"
        },
        {
          "name": "HTML API",
          "value": "htmlAPI"
        },
        {
          "name": "Usage",
          "value": "usage"
        },
        {
          "name": "Walmart Product API",
          "value": "walmartProductAPI"
        },
        {
          "name": "Walmart Search API",
          "value": "walmartSearchAPI"
        },
        {
          "name": "YouTube Metadata API",
          "value": "youtubeMetadataAPI"
        },
        {
          "name": "YouTube Search API",
          "value": "youtubeSearchAPI"
        },
        {
          "name": "YouTube Trainability API",
          "value": "youtubeTrainabilityAPI"
        },
        {
          "name": "YouTube Transcript API",
          "value": "youtubeTranscriptAPI"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Scrape using HTML API",
          "description": "Scrape the webpage using our HTML API"
        },
        {
          "name": "POST",
          "value": "post",
          "action": "Send POST request using HTML API",
          "description": "Send a post request using our HTML API"
        },
        {
          "name": "PUT",
          "value": "put",
          "action": "Send PUT request using HTML API",
          "description": "Send a put request using our HTML API"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "htmlAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get SERP data using GOOGLE SEARCH API",
          "description": "Get SERP data using our Google Search API"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "googleSearchAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get products related to search query using WALMART SEARCH API",
          "description": "Search for products in Walmart"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "walmartSearchAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get product information using WALMART PRODUCT API",
          "description": "Get product information from Walmart"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "walmartProductAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get products related to search query using AMAZON SEARCH API",
          "description": "Search for products in Amazon"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "amazonSearchAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get product information using AMAZON PRODUCT API",
          "description": "Get product information from Amazon"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "amazonProductAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get AI response from CHATGPT for your prompt using our CHATGPT API",
          "description": "Get AI Response from ChatGPT based on your prompt"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chatgptAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get usage data",
          "description": "Get your API usage data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "usage"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get detailed video metadata from YOUTUBE using our YOUTUBE METADATA API",
          "description": "Get detailed video metadata"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtubeMetadataAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get search results from YOUTUBE using our YOUTUBE SEARCH API",
          "description": "Get YouTube search results"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtubeSearchAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get video transcript availability status from YOUTUBE using our YOUTUBE TRAINABILITY API",
          "description": "Check if a video has transcripts available for training purposes"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtubeTrainabilityAPI"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "GET",
          "value": "get",
          "action": "Get video transcripts from YOUTUBE using our YOUTUBE TRANSCRIPT API",
          "description": "Get video transcripts (captions/subtitles)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtubeTranscriptAPI"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "GET",
      "value": "get",
      "action": "Scrape using HTML API",
      "description": "Scrape the webpage using our HTML API"
    },
    {
      "name": "POST",
      "value": "post",
      "action": "Send POST request using HTML API",
      "description": "Send a post request using our HTML API"
    },
    {
      "name": "PUT",
      "value": "put",
      "action": "Send PUT request using HTML API",
      "description": "Send a put request using our HTML API"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get SERP data using GOOGLE SEARCH API",
      "description": "Get SERP data using our Google Search API"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get products related to search query using WALMART SEARCH API",
      "description": "Search for products in Walmart"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get product information using WALMART PRODUCT API",
      "description": "Get product information from Walmart"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get products related to search query using AMAZON SEARCH API",
      "description": "Search for products in Amazon"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get product information using AMAZON PRODUCT API",
      "description": "Get product information from Amazon"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get AI response from CHATGPT for your prompt using our CHATGPT API",
      "description": "Get AI Response from ChatGPT based on your prompt"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get usage data",
      "description": "Get your API usage data"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get detailed video metadata from YOUTUBE using our YOUTUBE METADATA API",
      "description": "Get detailed video metadata"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get search results from YOUTUBE using our YOUTUBE SEARCH API",
      "description": "Get YouTube search results"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get video transcript availability status from YOUTUBE using our YOUTUBE TRAINABILITY API",
      "description": "Check if a video has transcripts available for training purposes"
    },
    {
      "name": "GET",
      "value": "get",
      "action": "Get video transcripts from YOUTUBE using our YOUTUBE TRANSCRIPT API",
      "description": "Get video transcripts (captions/subtitles)"
    }
  ]

npm_readme:
  # n8n-nodes-scrapingbee

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

  The ScrapingBee web scraping API handles headless browsers, rotates proxies for you, and offers AI-powered data extraction.

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

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)  <!-- delete if no auth needed -->
  [Compatibility](#compatibility)
  [Resources](#resources)
  [Version history](#version-history)  <!-- delete if not using this section -->

  ## Installation

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

  ## Operations

  - HTML API: GET, POST, PUT
  - Google Search API: GET
  - Usage: GET

  ## Credentials

  You can obtain your API KEY for free by signing up and visting this page: https://app.scrapingbee.com/account/manage/api_key

  When you signup, you will also get 1000 credits for free.

  ## Compatibility

  n8n 1.101.2 and above

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [HTML API](https://www.scrapingbee.com/documentation/)
  * [Google Search API](https://www.scrapingbee.com/documentation/google/)
  * [Amazon Search API](https://www.scrapingbee.com/documentation/amazon/#amazon-search-api)
  * [Amazon Product API](https://www.scrapingbee.com/documentation/amazon/#amazon-product-api)
  * [Walmart Search API](https://www.scrapingbee.com/documentation/walmart/#walmart-search-api)
  * [Walmart Product API](https://www.scrapingbee.com/documentation/walmart/#walmart-product-api)
  * [ChatGPT API](https://www.scrapingbee.com/documentation/chatgpt/)
  * [Usage](https://www.scrapingbee.com/documentation/#usage-endpoint)
  * [Data Extraction](https://www.scrapingbee.com/documentation/data-extraction/)
  * [JavaScript Scenario](https://www.scrapingbee.com/documentation/js-scenario/)

  ## Version history

  - 0.1.6: Added support for YouTube APIs
  - 0.1.5: Added support for Amazon, Walmart, and ChatGPT APIs, and configured it to be used as a tool for AI Agent
  - 0.1.4: Added option to send body in POST and PUT requests, replaced deprecated interface and method, set n8n as user-agent and other minor changes
  - 0.1.3: Added a credentials test
  - 0.1.2: Fixed credentials file link
  - 0.1.1: Minor bug fix
  - 0.1.0: Initial Release

ai_documentation_summary:
  {"purpose":"Provides access to the ScrapingBee web scraping APIs from n8n workflows, enabling automated page retrieval, proxy/headless-browser handling, and AI-powered data extraction.","capabilities":["HTML API (GET, POST, PUT) for scraping web pages, including JS scenarios","Google Search API (GET) for search result scraping","Amazon Search API and Amazon Product API access","Walmart Search API and Walmart Product API access","YouTube API support","ChatGPT API integration (AI-powered extraction and processing)","Data extraction features (AI-powered structured data extraction)","Usage endpoint (GET) to retrieve account/usage information","Supports sending request bodies for POST and PUT requests","Automatic proxy rotation and headless browser handling via ScrapingBee"],"authentication":"API key required","commonUseCases":["Scrape HTML pages (including JS-rendered content) and return page content","Extract structured data from pages using AI-powered data extraction","Scrape search results from Google, Amazon, or Walmart for price/product monitoring","Fetch YouTube data and integrate with workflows","Use ChatGPT integration for enriching or parsing scraped data"],"limitations":["Requires n8n version 1.101.2 or newer"],"relatedNodes":[]}


node_type: n8n-nodes-chainstream.chainstream
package_name: n8n-nodes-chainstream
display_name: Chainstream
description: Consume Chainstream API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-02-19 14:41:52
author_name: quantum01io
author_github_url: https://github.com/chainstream-io/
npm_package_name: n8n-nodes-chainstream
npm_version: 0.0.92
community_fetched_at: 2026-02-19T14:41:52.469Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "token",
      "options": [
        {
          "name": "Token",
          "value": "token"
        },
        {
          "name": "Wallet",
          "value": "wallet"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Candles",
          "value": "candles",
          "action": "Get token price candles",
          "description": "Get token price candles"
        },
        {
          "name": "Creation",
          "value": "creation",
          "action": "Get token creation information",
          "description": "Get token creation information"
        },
        {
          "name": "Detail",
          "value": "detail",
          "action": "Get detail of token",
          "description": "Get detail of token"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a token",
          "description": "Get a token"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many tokens",
          "description": "Get many tokens"
        },
        {
          "name": "Holders",
          "value": "holders",
          "action": "Get holders of a token",
          "description": "Get holders of a token"
        },
        {
          "name": "Liquidity",
          "value": "liquidity",
          "action": "Get all pools containing this token",
          "description": "Get all pools containing this token"
        },
        {
          "name": "Market Data",
          "value": "marketData",
          "action": "Get token market data",
          "description": "Get token market data"
        },
        {
          "name": "Metadata",
          "value": "metadata",
          "action": "Get metadata of token",
          "description": "Get metadata of token"
        },
        {
          "name": "Mint And Burn",
          "value": "mintAndBurn",
          "action": "Get mint and burn information for a token",
          "description": "Get mint and burn information for a token"
        },
        {
          "name": "Price by Time",
          "value": "price",
          "action": "Get token price at a specific timestamp",
          "description": "Get token price at a specific timestamp"
        },
        {
          "name": "Prices",
          "value": "prices",
          "action": "Get historical price data for a token",
          "description": "Get historical price data for a token"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search token informaton by criteria",
          "description": "Search token information by criteria"
        },
        {
          "name": "Security",
          "value": "security",
          "action": "Get token security information",
          "description": "Get token security information"
        },
        {
          "name": "Stats",
          "value": "stats",
          "action": "Get token statistics",
          "description": "Get token statistics"
        },
        {
          "name": "Top Holders",
          "value": "topHolders",
          "action": "Get the top 20 holders for a token",
          "description": "Get the top 20 holders for a token"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "token"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "balance",
      "options": [
        {
          "name": "Balance",
          "value": "balance",
          "action": "Get wallet balance",
          "description": "Get wallet balance"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "wallet"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Candles",
      "value": "candles",
      "action": "Get token price candles",
      "description": "Get token price candles"
    },
    {
      "name": "Creation",
      "value": "creation",
      "action": "Get token creation information",
      "description": "Get token creation information"
    },
    {
      "name": "Detail",
      "value": "detail",
      "action": "Get detail of token",
      "description": "Get detail of token"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a token",
      "description": "Get a token"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many tokens",
      "description": "Get many tokens"
    },
    {
      "name": "Holders",
      "value": "holders",
      "action": "Get holders of a token",
      "description": "Get holders of a token"
    },
    {
      "name": "Liquidity",
      "value": "liquidity",
      "action": "Get all pools containing this token",
      "description": "Get all pools containing this token"
    },
    {
      "name": "Market Data",
      "value": "marketData",
      "action": "Get token market data",
      "description": "Get token market data"
    },
    {
      "name": "Metadata",
      "value": "metadata",
      "action": "Get metadata of token",
      "description": "Get metadata of token"
    },
    {
      "name": "Mint And Burn",
      "value": "mintAndBurn",
      "action": "Get mint and burn information for a token",
      "description": "Get mint and burn information for a token"
    },
    {
      "name": "Price by Time",
      "value": "price",
      "action": "Get token price at a specific timestamp",
      "description": "Get token price at a specific timestamp"
    },
    {
      "name": "Prices",
      "value": "prices",
      "action": "Get historical price data for a token",
      "description": "Get historical price data for a token"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search token informaton by criteria",
      "description": "Search token information by criteria"
    },
    {
      "name": "Security",
      "value": "security",
      "action": "Get token security information",
      "description": "Get token security information"
    },
    {
      "name": "Stats",
      "value": "stats",
      "action": "Get token statistics",
      "description": "Get token statistics"
    },
    {
      "name": "Top Holders",
      "value": "topHolders",
      "action": "Get the top 20 holders for a token",
      "description": "Get the top 20 holders for a token"
    },
    {
      "name": "Balance",
      "value": "balance",
      "action": "Get wallet balance",
      "description": "Get wallet balance"
    }
  ]

npm_readme:
  **Version:** 0.0.92
  **Status:** Submitted to Creator Portal, awaiting approval  
  **Compatible with:** n8n v1.0.0+ (tested on v1.113.0)

  # n8n-nodes-chainstream

  [![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/bd76f121-1c8f-4f5d-9c65-1eac5d81b6af)

  `n8n-nodes-chainstream` is an n8n community node that enables workflows to access real-time blockchain data via [Chainstream](https://chainstream.io). It supports token, wallet, and trade queries across multiple chains, and is designed for reuse, easy extension, and straightforward review.

  ---

  ## 🚀 Installation

  ```bash
  npm install n8n-nodes-chainstream
  ```

  - Restart n8n to load the new community node.
  - Add the Chainstream node to your workflow and configure credentials.

  ---

  ## 🔐 Credentials

  Create a new credential in n8n:

  - **API Client ID** — Chainstream public key
  - **API Client Secret** — Chainstream private key

  ⚠️ Do not commit real keys to your repository or exported workflows. Use placeholders in templates and bind credentials after import.

  ---

  ## ⚡ Quickstart

  1. Go to **Workflows → Import** in n8n and upload `/templates/workflow.json` from this repo.
  2. Run:

     ```bash
     npm install n8n-nodes-chainstream
     ```

  3. Create and bind your Chainstream credential.
  4. Configure a trigger (e.g., Telegram, webhook, cron).
  5. Run the workflow and inspect the Chainstream node output.

  > Note: `/templates/workflow.json` uses credential placeholders. Replace them after import.

  ---

  ## 🧪 Example Node Configuration

  **Node:** Chainstream

  - **Credentials:** ChainstreamApi
  - **Resource:** token
  - **Operation:** get
  - **Chain ID:** 137
  - **Token Address:** `0x1234...abcd`
  - **Options:** (leave default)

  **Example output:**

  ```json
  {
  	"symbol": "ABC",
  	"name": "Token ABC",
  	"decimals": 18,
  	"address": "0x..."
  }
  ```

  For batch runs, use expressions or upstream nodes to supply dynamic parameters.

  ---

  ## 📚 Supported Resources

  Short summary of supported resources (full mapping in `DEVELOPER.md`):

  - **token** — metadata, prices, holders, liquidity, security, mint/burn
  - **trade** — listings, activities, leaderboards
  - **wallet** — balance queries

  ---

  ## 🧑‍💻 Developer Notes

  The `execute` method builds requests dynamically:

  1. Reads `resource` and `operation` per item
  2. Calls `buildRequest()` to map to `{ method, path, qs }`
  3. Sends request via `chainstreamApiRequest()`
  4. Wraps response with `constructExecutionMetaData()`
  5. Handles errors via `NodeOperationError`, respects `continueOnFail`

  Full handler mapping and endpoint patterns are in `DEVELOPER.md`.

  ---

  ## 🛠️ Troubleshooting

  - **Invalid resource/operation** → check for typos
  - **Bad parameters** → test with single item before batching
  - **API errors** → inspect node output, verify credentials
  - **Batch runs** → enable `Continue On Fail` to capture per-item errors

  Debug tips:

  - Use **Executions** view to inspect inputs/outputs
  - Add a **Set** node to test static parameters
  - Start with one item to simplify debugging

  ---

  ## 🧪 Contributing & CI

  ```bash
  npm run build   # Compile TypeScript
  npm run lint    # Run ESLint
  npm run test    # Run Jest tests
  ```

  - `prepublishOnly` runs build + lint before publishing
  - Use GitHub Actions to automate lint/build/test
  - Keep TypeScript strict and ESLint green

  To add a new operation:

  1. Add handler in `buildRequest()`
  2. Extract parameters via `getNodeParameter(..., i)`
  3. Return `{ method, path, qs? }`
  4. Add tests and update `DEVELOPER.md`

  ---

  ## 📦 Templates & Reviewer Guidance

  - `/templates/workflow.json` — example workflow
  - `/templates/README-template.md` — import instructions
  - If reviewers lack production keys, provide:
    - mock API
    - test account
    - recorded executions

  When submitting:

  - Include repo link, npm package name/version
  - Provide install steps and sample outputs
  - Add screenshots if possible

  ---

  ## 📬 Contact & Support

  - Maintainer: Chainstream Team – [ai@chainstream.io](mailto:ai@chainstream.io)
  - Issues & PRs: [GitHub Issues](https://github.com/chainstream-io/n8n-nodes-chainstream/issues)

  ---

  ## 📄 License

  MIT

  ---

ai_documentation_summary:
  {"purpose":"Provides an n8n community node to access Chainstream's real-time blockchain data API, letting workflows query tokens, trades, and wallets across multiple chains.","capabilities":["Query token metadata (symbol, name, decimals, address)","Fetch token prices","Retrieve token holders","Query token liquidity","Inspect token security details and mint/burn events","Fetch trade listings and trade activities","Generate trade leaderboards","Query wallet balances","Support per-item dynamic resource/operation selection (batch processing)","Support expressions and upstream nodes to supply dynamic parameters"],"authentication":"API key required (Chainstream API Client ID and API Client Secret)","commonUseCases":["Enrich workflow data with token metadata and price information","Monitor token liquidity, holders, and security/mint-burn events","Track wallet balances for accounting or alerting","Trigger workflows on trade listings or activities (alerts, logging)","Build leaderboards or analytics from trade/activity data"],"limitations":["Supported resources/operations are limited to handlers implemented in the node (full mapping in DEVELOPER.md)","Must use exact resource/operation names (typos cause invalid resource/operation errors)","Batch runs require careful parameterization—recommend testing single item first","Authentication is via client ID/secret only (no OAuth flows documented)","If reviewers lack production keys, a mock API/test account or recorded executions are needed to validate functionality"],"relatedNodes":["Webhook (trigger)","Cron (trigger)","Telegram (trigger/example)","Set (for testing/static parameters)"]}


node_type: n8n-nodes-velatir.velatir
package_name: n8n-nodes-velatir
display_name: Velatir
description: Human approval gate with decision routing - routes workflow based on approval decision
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main",
  "main",
  "main"
  ]

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

  ![Velatir](https://img.shields.io/badge/Velatir-Human--Approval--Gate-blue?style=flat-square)
  ![n8n-community-node-package](https://img.shields.io/badge/n8n-community--node-ff6d5a?style=flat-square)
  ![npm version](https://img.shields.io/npm/v/n8n-nodes-velatir?style=flat-square)
  ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)

  **Human approval gate for n8n workflows with decision routing.** This community node integrates [Velatir](https://velatir.com) to pause your workflow until a human makes a decision, then routes the data to different outputs based on that decision.

  ## What does it do?

  The Velatir node provides **smart decision routing**:

  1. **Data flows in** → Gets sent to Velatir for human review
  2. **Workflow pauses** → Waits for human decision
  3. **Routes to different outputs** based on approval decision:
     - **Output 1**: Approved requests
     - **Output 2**: Declined requests
     - **Output 3**: Change requests with feedback

  This gives you maximum flexibility to handle each decision type differently in your workflow.

  ## Installation

  ### Option 1: Community Nodes Panel (Recommended)
  1. Go to **Settings > Community Nodes** in n8n
  2. Select **Install**
  3. Enter `n8n-nodes-velatir`
  4. Select **Install**

  ### Option 2: Manual Installation
  ```bash
  npm install n8n-nodes-velatir
  ```

  ## Setup

  ### 1. Get your Velatir API Key
  - Sign up at [velatir.com](https://velatir.com)
  - Get your API key from the dashboard

  ### 2. Add Credentials in n8n
  - Go to **Settings > Credentials**
  - Create new **Velatir API** credential
  - Enter your API key
  - Save

  ## Usage

  ### Basic Usage
  Drag the **Velatir** node into your workflow and connect nodes to the outputs you need:

  ```
  Trigger → [Your Data] → **Velatir** → [Approved: Process Data]
                                    → [Declined: Send Rejection Email]  
                                    → [Change Requested: Request More Info]
  ```

  **The node will:**
  - Automatically use your input data as the approval context
  - Show the node name and description to approvers  
  - Route data to different outputs based on the approval decision
  - Include decision metadata in all outputs

  ### Simple Example
  If you only care about approved requests, just connect the first output:

  ```
  Trigger → [Your Data] → **Velatir** → [Process Approved Data]
  ```

  ### Configuration Options

  | Field | Description | Default |
  |-------|-------------|---------|
  | **Function Name** | Name shown to approvers | Node name |
  | **Description** | What this step does | Empty |
  | **Polling Interval** | Check frequency (seconds) | 5 |
  | **Timeout** | Max wait time (minutes) | 10 |
  | **LLM Explanation** | AI context for approval decision | Empty |

  ## Examples

  ### Example 1: Content Review Workflow
  ```
  Webhook → **Velatir** → [Approved: Publish Content]
                        → [Declined: Archive Content]
                        → [Changes Requested: Send to Editor]
  ```

  ### Example 2: User Registration with Feedback  
  ```
  Form Submit → **Velatir** → [Approved: Create Account + Welcome Email]
                            → [Declined: Send Rejection Email]
                            → [Changes Requested: Request Additional Info]
  ```

  ### Example 3: Invoice Processing
  ```
  New Invoice → **Velatir** → [Approved: Auto-Pay Invoice]
                            → [Declined: Mark as Disputed]  
                            → [Changes Requested: Request Clarification]
  ```

  ### Example 4: Simple Approval Gate
  If you only need to process approved requests:
  ```
  Manual Trigger → Set (Campaign Data) → **Velatir** → [Send Email]
  ```
  Just connect the first output and leave the others unconnected.

  ## What Approvers See

  When a request needs approval, your team will see:

  - **Function Name**: "Send Email Campaign" (or whatever you set)
  - **Description**: "Send marketing email to 1,500 customers" 
  - **Arguments**: All the input data from your workflow
  - **LLM Explanation**: AI context about why approval is needed (if provided)
  - **Metadata**: Workflow context (ID, execution, behavior mode, etc.)

  ## Data Output

  All outputs include the original data plus `_velatir` metadata:

  ```json
  {
    "originalData": "your workflow data",
    "_velatir": {
      "reviewTaskId": "uuid-of-review-task",
      "state": "approved|declined|change_requested",
      "requestedChange": "feedback from approver (if any)"
    }
  }
  ```

  ## Best Practices

  ### ✅ Do:
  - Use descriptive node names (they become the function name)
  - Add helpful descriptions for complex operations
  - Place approval gates before critical/irreversible actions
  - Set appropriate timeouts for your team's response time
  - Provide LLM explanations for better approval context
  - Connect the outputs you need (you don't have to use all three)
  - Use the change requested output to implement feedback loops

  ### ❌ Don't:
  - Put approval gates in loops (can create many approval requests)
  - Set very short timeouts for non-urgent operations
  - Forget that unconnected outputs will lose their data
  - Ignore the `_velatir` metadata when processing decisions

  ## Error Handling

  The node uses **decision routing** for all scenarios:

  - **If approved**: Data flows to "Approved" output (Output 1)
  - **If declined**: Data flows to "Declined" output (Output 2)  
  - **If changes requested**: Data flows to "Change Requested" output (Output 3) with feedback
  - **If timeout**: Workflow stops after the configured timeout
  - **If API error**: With "Continue on Fail" enabled, errors flow to "Declined" output
  - **If API error**: With "Continue on Fail" disabled, workflow stops with error message

  ## Workflow Patterns

  ### Pattern 1: Simple Approval
  ```
  Data → **Velatir** → [Approved: Process Data]
  ```
  Only connect the approved output for basic approval gates.

  ### Pattern 2: Full Decision Handling
  ```
  Data → **Velatir** → [Approved: Process Data]
                     → [Declined: Log Rejection]
                     → [Changes: Request Info]
  ```
  Handle all three decision types differently.

  ### Pattern 3: Feedback Loop
  ```
  Data → **Velatir** → [Approved: Process]
                     → [Declined: Archive]
                     → [Changes: Edit] → **Velatir** (New Review)
  ```
  Use change requests to improve and resubmit.

  ### Pattern 4: Escalation Workflow
  ```
  Data → **Velatir** → [Approved: Execute]
                     → [Declined: End]
                     → [Changes: Escalate] → Senior **Velatir** → Execute
  ```
  Escalate change requests to higher approval levels.

  ### Pattern 5: Conditional Approval
  ```
  Data → IF (high_value?) → **Velatir** → [Process]
                          → Direct Process
  ```
  Only require approval for certain conditions.

  ## Troubleshooting

  | Issue | Solution |
  |-------|----------|
  | "Request timeout" | Increase timeout or check if approvers are available |
  | "API key invalid" | Verify credential configuration in n8n |
  | "Request declined" | Data flows to declined output - check approver feedback |
  | Node doesn't appear | Restart n8n after installation |
  | "Unexpected state" | Update to latest node version (API may have changed) |
  | Data not flowing to expected output | Check the `_velatir.state` field in your data |
  | Missing data on outputs | Connect only the outputs you need, unconnected outputs lose data |

  ## Minimal Examples

  ### Simple Approval
  1. **Manual Trigger** 
  2. **Set** node with: `{"message": "Hello World"}`
  3. **Velatir** node (default settings)
  4. **No Op** node connected to "Approved" output

  When you run this:
  - Your approver sees: Function "Velatir" needs approval with args `{"message": "Hello World"}`
  - If approved: Data flows to No Op with `_velatir` metadata
  - If declined/changed: Data flows to unconnected outputs (lost)

  ### Full Decision Routing
  1. **Manual Trigger**
  2. **Set** node with: `{"message": "Hello World"}`
  3. **Velatir** node 
  4. **No Op** node connected to "Approved" output
  5. **Set** node connected to "Declined" output with message "Request declined"
  6. **Set** node connected to "Change Requested" output with message "Changes needed"

  When you run this, the workflow routes to different paths based on the approval decision, and you can handle each case appropriately.

  ## Support

  - 📖 [Velatir Documentation](https://www.velatir.com/docs)
  - 💬 [n8n Community Forum](https://community.n8n.io)
  - 🐛 [Report Issues](https://github.com/velatir/n8n-nodes-velatir/issues)
  - 📧 [Contact Support](mailto:hello@velatir.com)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"Pauses an n8n workflow to send incoming data to Velatir for human review, then routes the execution to different outputs based on the approver's decision (approved, declined, or change requested).","capabilities":["Send input data to Velatir as an approval context","Pause workflow and poll for human decision","Route execution to three outputs: Approved (output 1), Declined (output 2), Change Requested (output 3)","Include decision metadata (_velatir) with reviewTaskId, state, and requestedChange in all outputs","Show function name, description, and input arguments to approvers","Configurable polling interval and timeout","Optional LLM explanation field to provide AI context for approvers","Decision-based error handling (timeout and API error behaviors configurable via Continue on Fail)"],"authentication":"API key required (Velatir API credential added in n8n Settings > Credentials)","commonUseCases":["Content review and publishing approval flows","User registration approvals with feedback requests","Invoice approval and processing gates","Generic approval gates before critical or irreversible workflow actions","Requesting changes/feedback loops integrated into workflows (change requested handling)"],"limitations":["Should not be placed inside loops (can create many approval requests)","Unconnected outputs lose their data (only connected outputs receive routed items)","Timeout causes the workflow to stop after configured wait time","API errors will stop the workflow unless 'Continue on Fail' is enabled (then errors route to Declined output)","Only three fixed decision outputs (approved, declined, change requested); no built-in custom routing beyond these"],"relatedNodes":["Webhook","Trigger","Manual Trigger","Form (Form Submit)","Set"]}


node_type: n8n-nodes-blooio.blooioMessaging
package_name: n8n-nodes-blooio
display_name: Blooio Messaging
description: Send messages via the Blooio API (v3)
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: dave_xt
author_github_url: https://github.com/blooio/
npm_package_name: n8n-nodes-blooio
npm_version: 0.1.2
community_fetched_at: 2026-02-19T14:41:52.470Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send a message",
          "routing": {
            "request": {
              "url": "=/v1/api/messages",
              "method": "POST",
              "headers": {
                "Idempotency-Key": "={{$parameter[\"idempotencyKey\"]}}"
              }
            }
          },
          "description": "Send a single text or attachment message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send",
      "value": "send",
      "action": "Send a message",
      "routing": {
        "request": {
          "url": "=/v1/api/messages",
          "method": "POST",
          "headers": {
            "Idempotency-Key": "={{$parameter[\"idempotencyKey\"]}}"
          }
        }
      },
      "description": "Send a single text or attachment message"
    }
  ]

npm_readme:
  # n8n-nodes-blooio

  This is an n8n community node for [Blooio](https://blooio.com). It lets you send and receive iMessages, RCS, SMS, and more through the Blooio API in your n8n workflows.

  [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)  
  [Resources](#resources)

  ## Installation

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

  ## Operations

  ### Messages

  - **Send Message** - Send text messages and attachments via iMessage/SMS/RCS
  - **Get Message** - Retrieve complete message details including delivery status
  - **Get Message Status** - Check the delivery status of a message
  - **Cancel Message** - Cancel a queued or scheduled message

  ### Contacts

  - **Check Capabilities** - Check if a phone number or email supports iMessage, SMS, or RCS

  ### Webhooks

  - **Get Webhook** - Get the currently configured webhook URL
  - **Set Webhook** - Configure webhook URL for receiving inbound messages and delivery notifications

  ## Credentials

  ### API Key Authentication

  1. Sign up for a Blooio account at [https://blooio.com](https://blooio.com)
  2. Navigate to your Dashboard
  3. Go to Settings > API Keys
  4. Create a new API key or copy an existing one
  5. In n8n, create a new Blooio credential:
     - Select "API Key" as the authentication method
     - Paste your API key
     - Save the credential

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Blooio API Documentation](https://docs.blooio.com)
  - [Blooio Dashboard](https://dashboard.blooio.com)
  - [Support](mailto:support@blooio.com)

ai_documentation_summary:
  {"purpose":"Send and receive messages (iMessage, SMS, RCS and more) via the Blooio API from n8n workflows, and manage message delivery and webhook configuration.","capabilities":["Send Message (text and attachments) via iMessage/SMS/RCS","Get Message (retrieve complete message details including delivery status)","Get Message Status (check delivery status)","Cancel Message (cancel queued or scheduled messages)","Check Capabilities (verify whether a phone number or email supports iMessage, SMS, or RCS)","Get Webhook (retrieve configured webhook URL)","Set Webhook (configure webhook URL for inbound messages and delivery notifications)"],"authentication":"API key required (Blooio API Key via n8n credential using 'API Key' auth method)","commonUseCases":["Send transactional or marketing SMS/RCS/iMessage messages from workflows","Attach files to outbound messages and send through the appropriate channel","Track delivery status and retrieve message details for logging or retries","Cancel a message that was queued or scheduled before it is delivered","Verify contact capabilities to choose the best messaging channel (iMessage vs SMS vs RCS)"],"limitations":["Requires n8n version 1.60.0 or later (compatibility constraint)"],"relatedNodes":[]}


node_type: n8n-nodes-postiz.postiz
package_name: n8n-nodes-postiz
display_name: Postiz
description: Consume Postiz API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: nevodavid10
author_github_url: https://github.com/gitroomhq/postiz-n8n.git
npm_package_name: n8n-nodes-postiz
npm_version: 0.2.17
community_fetched_at: 2026-02-19T14:41:52.471Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "createPost",
      "options": [
        {
          "name": "Create Post",
          "value": "createPost",
          "action": "Schedule a post to postiz",
          "description": "Schedule a post to Postiz"
        },
        {
          "name": "Delete Post",
          "value": "deletePost",
          "action": "Delete a post by id",
          "description": "Delete a post by ID"
        },
        {
          "name": "Generate Video",
          "value": "generateVideo",
          "action": "Generate videos with AI",
          "description": "Generate videos with AI"
        },
        {
          "name": "Get Channels",
          "value": "getIntegrations",
          "action": "Get a list of connected channels",
          "description": "Get a list of connected channels"
        },
        {
          "name": "Get Posts",
          "value": "getPosts",
          "action": "Get a list of posts",
          "description": "Get a list of posts"
        },
        {
          "name": "Upload File",
          "value": "uploadFile",
          "action": "Upload a file to postiz",
          "description": "Upload a file to Postiz"
        },
        {
          "name": "Video Function",
          "value": "videoFunction",
          "action": "Execute video related functions",
          "description": "Execute video-related functions like loading voices"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Post",
      "value": "createPost",
      "action": "Schedule a post to postiz",
      "description": "Schedule a post to Postiz"
    },
    {
      "name": "Delete Post",
      "value": "deletePost",
      "action": "Delete a post by id",
      "description": "Delete a post by ID"
    },
    {
      "name": "Generate Video",
      "value": "generateVideo",
      "action": "Generate videos with AI",
      "description": "Generate videos with AI"
    },
    {
      "name": "Get Channels",
      "value": "getIntegrations",
      "action": "Get a list of connected channels",
      "description": "Get a list of connected channels"
    },
    {
      "name": "Get Posts",
      "value": "getPosts",
      "action": "Get a list of posts",
      "description": "Get a list of posts"
    },
    {
      "name": "Upload File",
      "value": "uploadFile",
      "action": "Upload a file to postiz",
      "description": "Upload a file to Postiz"
    },
    {
      "name": "Video Function",
      "value": "videoFunction",
      "action": "Execute video related functions",
      "description": "Execute video-related functions like loading voices"
    }
  ]

npm_readme:
  # Introduction
  [Postiz](https://postiz.com) is a powerful social media scheduling tool that allows you to manage your social media accounts efficiently.

  You can use n8n to automate your workflow and post to multiple social media platforms at once.

  You can [self-host](https://docs.postiz.com/introduction) Postiz or use our [cloud version](https://platform.postiz.com).
  For example: Load news from Reddit >> Make it a video with AI >> Post it to your social media accounts.

  Postiz supports: X, LinkedIn, BlueSky, Instagram, Facebook, TikTok, YouTube, Pinterest, Dribbble, Telegram, Discord, Slack, Threads, Lemmy, Reddit, Mastodon, Warpcast, Nostr and VK.

  You can learn how to use Postiz + n8n after installation here:
  https://youtu.be/c50u3K3xsCI

  ---

  > Note
  > If you are self-hosting Postiz on port 5000 (reverse proxy),
  > Your host must end with /api for example:
  > http://yourdomain.com/api

  Alternatively, you can use the SDK with curl, check the [Postiz API documentation](https://docs.postiz.com/public-api) for more information.

  ---

  ## Installation (quick installation)

  - Click on settings
  - Click on Community Nodes
  - Click on Install
  - Add "n8n-nodes-postiz" to "npm Package Name"
  - Click on Install

  ![community-node.png](community-node.png)

  ---

  ## Installation (non-docker - manual installation)
  Go to your n8n installation usually located at `~/.n8n`.
  Check if you have the `custom` folder, if not create it and create a new package.json file inside.
  ```bash
  mkdir -p ~/.n8n/custom
  npm init -y
  ```

  Then install the Postiz node package:
  ```
  npm install n8n-nodes-postiz
  ```

  ## For docker users (manual installation)
  Create a new folder on your host machine, for example `~/n8n-custom-nodes`, and create a new package.json file inside:
  ```bash
  mkdir -p ~/n8n-custom-nodes
  npm init -y
  ```

  install the Postiz node package:
  ```bash
  npm install n8n-nodes-postiz
  ```

  When you run the n8n docker container, mount the custom nodes folder to the container:
  Add the following environment variable to your docker run command:
  ```
  N8N_CUSTOM_EXTENSIONS="~/n8n-custom-nodes"
  ```

ai_documentation_summary:
  {"purpose":"n8n node that connects to the Postiz API to automate publishing and scheduling content across multiple social media platforms supported by Postiz.","capabilities":["Create and schedule posts to Postiz-managed social accounts","Publish content (text and media) to multiple social platforms simultaneously","Manage/connect social accounts within workflows (connect/disconnect accounts implied)","Invoke Postiz API/SDK endpoints from n8n to integrate Postiz workflows (e.g., aggregate content, transform it, then post)","Support for the wide set of platforms Postiz supports (X, LinkedIn, BlueSky, Instagram, Facebook, TikTok, YouTube, Pinterest, Dribbble, Telegram, Discord, Slack, Threads, Lemmy, Reddit, Mastodon, Warpcast, Nostr, VK)"],"authentication":"Not specified in the README (refer to the Postiz public API documentation / SDK for required auth method)","commonUseCases":["Automate posting and scheduling of content across multiple social networks from n8n workflows","Aggregate content (e.g., Reddit) → process/transform it (e.g., generate a video with AI) → post to social accounts via Postiz","Use n8n to trigger Postiz publishing flows from external events or webhooks","Self-hosted Postiz integration for private instances or use with Postiz cloud"],"limitations":["README does not specify authentication method, required credentials, or example node parameters — must consult Postiz API docs","No detailed list of supported API endpoints or node operations in the README","Self-hosting note: when running Postiz on port 5000 behind a reverse proxy, the host URL must end with /api (e.g., http://yourdomain.com/api)","No examples in README of error handling, rate limits, or response shapes for the node"],"relatedNodes":[]}


node_type: n8n-nodes-fillout.filloutTrigger
package_name: n8n-nodes-fillout
display_name: Fillout Trigger
description: Handle Fillout submissions via webhooks
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: xkcdstickfigure
author_github_url: https://github.com/fillout/
npm_package_name: n8n-nodes-fillout
npm_version: 1.1.4
community_fetched_at: 2026-02-19T14:41:52.472Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n trigger for Fillout submissions

  This is an n8n community node that lets you trigger n8n workflows when your Fillout form receives a new submission.

  ## Installation

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

  ## Usage

  Add the trigger in n8n, and when creating a credential, you'll need to get an API key from your [account settings](https://build.fillout.com/home/settings/developer) in Fillout. Make sure that the correct base URL is set, as you can have submissions hosted in different regions with [Fillout Enterprise](https://www.fillout.com/enterprise).

  ## Developers

  For instructions on testing this node on a local n8n instance for development purposes, see https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/

ai_documentation_summary:
  {"purpose":"Trigger n8n workflows when a Fillout form receives a new submission via webhooks.","capabilities":["Listen for new Fillout form submissions (webhook trigger)","Use a Fillout API key credential to authenticate the trigger","Configure the Fillout base URL/region for forms hosted in different regions (Fillout Enterprise)"],"authentication":"API key required (Fillout API key from account settings)","commonUseCases":["Start workflows automatically when a form submission arrives","Send notifications (email, Slack, etc.) based on new submissions","Store submission data in databases or spreadsheets","Route or enrich submission data to CRMs or other services"],"limitations":["Requires a Fillout API key to create/use the credential","You must set the correct Fillout base URL/region for forms hosted in different regions (Fillout Enterprise)","Webhook-based trigger — n8n must expose a reachable webhook endpoint (public URL or tunneling) for Fillout to deliver submissions"],"relatedNodes":[]}


node_type: n8n-nodes-craft.craft
package_name: n8n-nodes-craft
display_name: Craft
description: Interact with your Craft documents via the API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: acrichter
author_github_url: https://github.com/ac40/
npm_package_name: n8n-nodes-craft
npm_version: 0.1.8
community_fetched_at: 2026-02-19T14:41:52.473Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "block",
      "options": [
        {
          "name": "Block",
          "value": "block"
        },
        {
          "name": "Collection",
          "value": "collection"
        },
        {
          "name": "Daily Note",
          "value": "dailyNote"
        },
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "Task",
          "value": "task"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Fetch Block",
          "value": "fetch",
          "action": "Fetch a block",
          "description": "Retrieve blocks and attached information"
        },
        {
          "name": "Insert Blocks",
          "value": "insert",
          "action": "Insert blocks",
          "description": "Create new blocks in a document"
        },
        {
          "name": "Upload File",
          "value": "upload",
          "action": "Upload a file",
          "description": "Insert files (binary content) into a document"
        },
        {
          "name": "Delete Blocks",
          "value": "delete",
          "action": "Delete blocks",
          "description": "Remove blocks from a document"
        },
        {
          "name": "Update Blocks",
          "value": "update",
          "action": "Update blocks",
          "description": "Modify blocks"
        },
        {
          "name": "Move Blocks",
          "value": "move",
          "action": "Move blocks",
          "description": "Reorder blocks in a document"
        },
        {
          "name": "Search Blocks",
          "value": "search",
          "action": "Search blocks",
          "description": "Search content"
        },
        {
          "name": "Construct Blocks",
          "value": "construct",
          "action": "Construct blocks",
          "description": "Construct blocks with validation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "block"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create Items",
          "value": "create",
          "action": "Create collection items",
          "description": "Insert new items into a collection"
        },
        {
          "name": "Delete Items",
          "value": "delete",
          "action": "Delete collection items",
          "description": "Remove items from a collection"
        },
        {
          "name": "Get Collection Schema",
          "value": "getSchema",
          "action": "Get collection schema",
          "description": "Retrieve a collection schema in the desired format"
        },
        {
          "name": "List Collections",
          "value": "listCollections",
          "action": "List collections",
          "description": "Retrieve available collections and their metadata"
        },
        {
          "name": "List Items",
          "value": "list",
          "action": "List collection items",
          "description": "Retrieve collection items"
        },
        {
          "name": "Update Items",
          "value": "update",
          "action": "Update collection items",
          "description": "Modify existing items in a collection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "collection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Tasks",
          "value": "list",
          "action": "List tasks",
          "description": "Retrieve tasks filtered by scope"
        },
        {
          "name": "Create Task",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task in inbox or daily notes"
        },
        {
          "name": "Update Task",
          "value": "update",
          "action": "Update a task",
          "description": "Modify an existing task"
        },
        {
          "name": "Delete Tasks",
          "value": "delete",
          "action": "Delete tasks",
          "description": "Delete tasks by their IDs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetch",
      "options": [
        {
          "name": "List Documents",
          "value": "fetch",
          "action": "Fetch documents",
          "description": "Retrieve available Craft documents"
        },
        {
          "name": "Search Documents",
          "value": "search",
          "action": "Search documents",
          "description": "Search across documents with include terms and optional filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search Daily Notes",
          "value": "search",
          "action": "Search daily notes",
          "description": "Search across daily notes with optional date range filters"
        },
        {
          "name": "Search Within Daily Note",
          "value": "searchBlocks",
          "action": "Search blocks in a daily note",
          "description": "Search for blocks within a specific daily note date"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dailyNote"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Folders",
          "value": "list",
          "action": "List folders",
          "description": "Retrieve all folders and locations in the space"
        },
        {
          "name": "Create Folder",
          "value": "create",
          "action": "Create a folder",
          "description": "Create a new folder or location"
        },
        {
          "name": "Delete Folder",
          "value": "delete",
          "action": "Delete a folder",
          "description": "Delete a folder by its ID"
        },
        {
          "name": "Move Folder",
          "value": "move",
          "action": "Move a folder",
          "description": "Move a folder to a different location"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Fetch Block",
      "value": "fetch",
      "action": "Fetch a block",
      "description": "Retrieve blocks and attached information"
    },
    {
      "name": "Insert Blocks",
      "value": "insert",
      "action": "Insert blocks",
      "description": "Create new blocks in a document"
    },
    {
      "name": "Upload File",
      "value": "upload",
      "action": "Upload a file",
      "description": "Insert files (binary content) into a document"
    },
    {
      "name": "Delete Blocks",
      "value": "delete",
      "action": "Delete blocks",
      "description": "Remove blocks from a document"
    },
    {
      "name": "Update Blocks",
      "value": "update",
      "action": "Update blocks",
      "description": "Modify blocks"
    },
    {
      "name": "Move Blocks",
      "value": "move",
      "action": "Move blocks",
      "description": "Reorder blocks in a document"
    },
    {
      "name": "Search Blocks",
      "value": "search",
      "action": "Search blocks",
      "description": "Search content"
    },
    {
      "name": "Construct Blocks",
      "value": "construct",
      "action": "Construct blocks",
      "description": "Construct blocks with validation"
    },
    {
      "name": "Create Items",
      "value": "create",
      "action": "Create collection items",
      "description": "Insert new items into a collection"
    },
    {
      "name": "Delete Items",
      "value": "delete",
      "action": "Delete collection items",
      "description": "Remove items from a collection"
    },
    {
      "name": "Get Collection Schema",
      "value": "getSchema",
      "action": "Get collection schema",
      "description": "Retrieve a collection schema in the desired format"
    },
    {
      "name": "List Collections",
      "value": "listCollections",
      "action": "List collections",
      "description": "Retrieve available collections and their metadata"
    },
    {
      "name": "List Items",
      "value": "list",
      "action": "List collection items",
      "description": "Retrieve collection items"
    },
    {
      "name": "Update Items",
      "value": "update",
      "action": "Update collection items",
      "description": "Modify existing items in a collection"
    },
    {
      "name": "List Tasks",
      "value": "list",
      "action": "List tasks",
      "description": "Retrieve tasks filtered by scope"
    },
    {
      "name": "Create Task",
      "value": "create",
      "action": "Create a task",
      "description": "Create a new task in inbox or daily notes"
    },
    {
      "name": "Update Task",
      "value": "update",
      "action": "Update a task",
      "description": "Modify an existing task"
    },
    {
      "name": "Delete Tasks",
      "value": "delete",
      "action": "Delete tasks",
      "description": "Delete tasks by their IDs"
    },
    {
      "name": "List Documents",
      "value": "fetch",
      "action": "Fetch documents",
      "description": "Retrieve available Craft documents"
    },
    {
      "name": "Search Documents",
      "value": "search",
      "action": "Search documents",
      "description": "Search across documents with include terms and optional filters"
    },
    {
      "name": "Search Daily Notes",
      "value": "search",
      "action": "Search daily notes",
      "description": "Search across daily notes with optional date range filters"
    },
    {
      "name": "Search Within Daily Note",
      "value": "searchBlocks",
      "action": "Search blocks in a daily note",
      "description": "Search for blocks within a specific daily note date"
    },
    {
      "name": "List Folders",
      "value": "list",
      "action": "List folders",
      "description": "Retrieve all folders and locations in the space"
    },
    {
      "name": "Create Folder",
      "value": "create",
      "action": "Create a folder",
      "description": "Create a new folder or location"
    },
    {
      "name": "Delete Folder",
      "value": "delete",
      "action": "Delete a folder",
      "description": "Delete a folder by its ID"
    },
    {
      "name": "Move Folder",
      "value": "move",
      "action": "Move a folder",
      "description": "Move a folder to a different location"
    }
  ]

npm_readme:
  <!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 -->

  <a id="readme-top"></a>

  # n8n-nodes-craft

  <!-- PROJECT LOGO -->

  [![Project Banner][project-banner]](./images/banner.png)
  <br />

  <div align="center">
    <p align="center">
      The Bridge you where looking for between two awesome tools
      <br />
      <a href="./CONTRIBUTING.md"><strong>Want to contribute? »</strong></a>
      <br />
      <br />
      <a href="https://github.com/ac40/n8n-nodes-craft/issues/new?labels=bug&template=bug-report.md">Report Bug</a>
      &middot;
      <a href="https://github.com/ac40/n8n-nodes-craft/issues/new?labels=enhancement&template=feature-request.md">Request Feature</a>
    </p>
  </div>

  <!-- TABLE OF CONTENTS -->
  <details>
    <summary>Table of Contents</summary>
    <ol>
      <li><a href="#about-the-project">About The Project</a></li>
      <li><a href="#installation">Installation</a></li>
      <li>
        <a href="#operations">Operations</a>
        <ul>
          <li><a href="#blocks">Blocks</a></li>
          <li><a href="#collections">Collections</a></li>
          <li><a href="#tasks">Tasks</a></li>
          <li><a href="#documents">Documents</a></li>
          <li><a href="#daily-notes">Daily Notes</a></li>
        </ul>
      </li>
      <li><a href="#credentials">Credentials</a></li>
      <li><a href="#compatibility">Compatibility</a></li>
      <li><a href="#resources">Resources</a></li>
      <li><a href="#version-history">Version history</a></li>
    </ol>
  </details>

  <!-- ABOUT THE PROJECT -->

  ## About The Project

  This is an n8n community node. It lets you use [Craft](https://craft.do) Docs in your n8n workflows.

  [Craft](https://craft.do) is an app that helps you _craft_ the best Docs in the world (that's their claim, and it is absolutely true!).

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

  ## Installation

  ### Community Node (soon to be released)

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

  > This node is not published as a community node yet, currently only the self-installation is available

  ### Private Node

  To run this node as a private node, follow [this](https://docs.n8n.io/integrations/creating-nodes/deploy/install-private-nodes/) guide by n8n. I also have a [prepared Dockerfile](https://github.com/AC40/custom-n8n-image) with a blank n8n installation + this craft node.

  Either run my custom image or build your own if you want to install additional private node.

  ## Operations

  The node now supports multiple Craft resources and their specific operations.

  ### Blocks

  - Fetch blocks to retrieve content and attachments
  - Insert blocks to add new content to a document
  - Upload files as binary content inside a block
  - Delete blocks from a document
  - Update blocks to change existing content
  - Move blocks to reorder content
  - Search blocks in a document
  - Construct blocks with validation before sending them to Craft

  ### Collections

  - List items with optional depth and format controls
  - Create items (including introducing new select options)
  - Update items while reusing or adding select options
  - Delete items in bulk

  ### Tasks

  - List tasks across inbox, upcoming, active, or logbook views
  - Create tasks in the inbox or a chosen daily note
  - Update tasks, including markdown, state, schedule, and deadline
  - Delete tasks by providing one or more IDs

  ### Documents

  - List available documents
  - Search across documents

  ### Daily Notes

  - Search daily notes with keyword and date filters
  - Search a single daily note

  ## Credentials

  If you want to interact with protected Documents, you will need to create a BearerAuth Credential for your respective Document with API Keys and document ids.

  ## Compatibility

  1.0 (Node.js 18)

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Some more information about this project](https://ac-rich.craft.me/n8n-nodes-craft)

  ## Version history

  N/A

  <!-- Images -->

  [project-banner]: ./images/banner.png

ai_documentation_summary:
  {"purpose":"Provides n8n workflow nodes to interact with Craft Docs via the Craft API, enabling automation of document content, collections, tasks, and daily notes from n8n.","capabilities":["Blocks: fetch block content and attachments","Blocks: insert blocks to add content to a document","Blocks: upload files as binary content inside a block","Blocks: delete blocks","Blocks: update blocks","Blocks: move/reorder blocks","Blocks: search blocks in a document","Blocks: construct blocks with validation prior to sending","Collections: list items with depth and format options","Collections: create items (including adding new select options)"],"authentication":"Bearer token (API key) required — create a BearerAuth credential per document; document IDs are required for protected documents","commonUseCases":["Automate inserting, updating, or reordering content blocks in Craft documents","Upload files into documents as binary blocks","Sync or manage collection items (create, update, bulk delete)","Create and update tasks from external triggers or scheduled workflows","Search and list documents or daily notes to drive downstream automation"],"limitations":["Node is currently not published to the n8n community registry — self-installation or private node deployment required","Requires per-document BearerAuth credentials and document IDs for protected documents","Compatibility limited to Node.js 18 (as stated)"],"relatedNodes":[]}


node_type: n8n-nodes-airparser.airparser
package_name: n8n-nodes-airparser
display_name: Airparser
description: Extract structured data from emails, PDFs, images, and other documents
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: andrew_io
author_github_url: https://github.com/Airparser/
npm_package_name: n8n-nodes-airparser
npm_version: 0.2.2
community_fetched_at: 2026-02-19T14:41:52.473Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Document",
          "value": "document"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "importFile",
      "options": [
        {
          "name": "Import Document From File",
          "value": "importFile",
          "action": "Import a binary file into an inbox and extract structured data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          },
          "description": "Import a binary file into an inbox and extract structured data"
        },
        {
          "name": "Import Text/HTML Document",
          "value": "importTextHtml",
          "action": "Import a text html document into an inbox and extract structured data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            }
          },
          "description": "Import a text/html document into an inbox and extract structured data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Import Document From File",
      "value": "importFile",
      "action": "Import a binary file into an inbox and extract structured data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        }
      },
      "description": "Import a binary file into an inbox and extract structured data"
    },
    {
      "name": "Import Text/HTML Document",
      "value": "importTextHtml",
      "action": "Import a text html document into an inbox and extract structured data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        }
      },
      "description": "Import a text/html document into an inbox and extract structured data"
    }
  ]

npm_readme:
  # Airparser n8n Node

  > 🧩 Official n8n Node to interact with [Airparser](https://airparser.com): import documents and extract structured data from emails, PDFs, images, and other documents.

  [About](#about)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Usage](#usage)  
  [Resources](#resources)

  ## About

  **Airparser** is a powerful document parsing service that extracts structured data from emails, PDFs, images, and other documents using AI and machine learning.

  This official **n8n Node** allows you to:

  ✅ Import documents into Airparser for parsing  
  ✅ Automatically trigger workflows when documents are parsed  
  ✅ Extract structured data and use it in your automation workflows

  ## Operations

  ### Airparser Actions

  - **Import Document From File**
    - Use when you have a binary file (PDF, image, email attachment, etc.)
    - Example: Send files uploaded to a Google Drive folder to Airparser for data extraction
    - Automatically extracts structured data from the document

  - **Import Text/HTML Document**
    - Use when you have HTML pages, email content, or plain text
    - Example: Parse HTML from a website or email body content
    - Perfect for extracting data from web pages or text-based content

  ### Airparser Trigger

  - **Document Parsed**
    - Automatically starts your workflow when a document is parsed in Airparser
    - Receives the extracted data and passes it to the next node
    - Built-in security to protect your webhook

  ## Credentials

  ### Airparser API Key

  1. Sign in to your [Airparser account](https://app.airparser.com/account)
  2. Go to your account settings
  3. Copy your **API Key**

  In n8n:

  - Click **"Add Credential"** and search for **"Airparser API"**
  - Paste your API Key

  For more information, visit the [Airparser documentation](https://help.airparser.com/).

  ## Usage

  ### Airparser Trigger

  **Quick Start:**

  1. Add the **Airparser Trigger** node to your workflow
  2. Select **"Document processed"** as the event
  3. Choose the **Inbox** where you want to receive events
  4. Activate your workflow

  That's it! Your workflow will now automatically run whenever a document is parsed in the selected inbox.

  **What happens:**

  - When a document is parsed in your Airparser inbox, the trigger receives the extracted data
  - The data is automatically passed to the next node in your workflow
  - You can use this data in any n8n node (send emails, update databases, create records, etc.)

  **Example Use Cases:**

  - **Email Notifications**: Send an email notification when an invoice is parsed
  - **Data Logging**: Save parsed data to Google Sheets or Airtable
  - **CRM Updates**: Create or update records in your CRM when documents are processed
  - **Approval Workflows**: Route documents for approval based on parsed data

  ### Import Document From File

  1. Select the **Import Document From File** operation
  2. Choose an **Inbox** from the dropdown
  3. Enter the **Document File (Binary)** property name (usually "data")
  4. Optionally add a custom **Filename** or **Additional Metadata**

  **Example workflow:**

  - Read a PDF file → Airparser node → Extract data → Use in next steps

  ### Import Text/HTML Document

  1. Select the **Import Text/HTML Document** operation
  2. Choose an **Inbox** from the dropdown
  3. Enter the **HTML/Text Content** (paste directly or use an expression)
  4. Optionally add a custom **Filename** or **Additional Metadata**

  **Example workflow:**

  - Fetch HTML from a website → Airparser node → Extract data → Process results

  ## Resources

  - [Airparser](https://airparser.com) — Document parsing & data extraction
  - [Airparser Documentation](https://help.airparser.com/) — Help and guides
  - [n8n](https://n8n.io) — Workflow automation platform
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

ai_documentation_summary:
  {"purpose":"An n8n community node for Airparser that imports documents (files or text/HTML), extracts structured data using Airparser's AI, and can trigger workflows when parsing completes.","capabilities":["Import Document From File — accept binary files (PDFs, images, email attachments) for parsing","Import Text/HTML Document — send plain text or HTML content for parsing","Trigger: Document Parsed — webhook trigger that starts a workflow when a document is parsed in a selected Airparser inbox","Receive extracted structured data as node output to pass to subsequent nodes","Configure target Inbox, optional filename, and additional metadata for imports","Built-in webhook security for the trigger"],"authentication":"API key required (Airparser API key configured via Airparser API credential in n8n)","commonUseCases":["Automatically parse invoices/receipts and send email notifications when parsed","Save parsed data into Google Sheets or Airtable for logging and reporting","Create or update CRM records from parsed document data","Route parsed documents into approval workflows based on extracted fields","Automatically process files uploaded to storage (e.g., Google Drive) and extract structured data"],"limitations":[],"relatedNodes":["Google Drive (read/download files to provide binary input)","HTTP Request (fetch HTML or text to send to Airparser)","Google Sheets (log parsed data)","Airtable (store parsed records)","Email nodes (send notifications with parsed results)"]}


node_type: @geocapture/n8n-nodes-geocapture.geocapture
package_name: @geocapture/n8n-nodes-geocapture
display_name: geoCapture
description: Consume geoCapture API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: geocapture
author_github_url: https://github.com/geocapture/n8n-nodes-geocapture.git
npm_package_name: @geocapture/n8n-nodes-geocapture
npm_version: 0.1.5
community_fetched_at: 2026-02-19T14:41:52.474Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "project",
      "options": [
        {
          "name": "Project",
          "value": "project"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new project",
          "description": "Create a new project"
        },
        {
          "name": "Create or Update",
          "value": "upsert",
          "action": "Create or update a project",
          "description": "Create a new project, or update the current one if it already exists (upsert)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new project",
      "description": "Create a new project"
    },
    {
      "name": "Create or Update",
      "value": "upsert",
      "action": "Create or update a project",
      "description": "Create a new project, or update the current one if it already exists (upsert)"
    }
  ]

npm_readme:
  # @geocapture/n8n-nodes-geocapture

  This node lets you use the geoCapture API in your n8n workflows.

  ## Installation

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

  ## Operations

  - Projects
    - Create a new project
    - Create or Update a project
    - Watch for Project Events (Create, Update, Delete)

  ## Credentials

  You can use the geoCapture API Token to use this node.

  1. Go to the [API Settings](https://app.geocapture.net/apis) to create a new API Token.
  2. Add a Service to the API Token.
  3. Search for the "n8n" Service and click "Add"
  4. Save the API Token.
  5. Copy the API Token.

  ## Compatibility

  Compatible with n8n@1.60.0 or later

ai_documentation_summary:
  {"purpose":"Expose the geoCapture API to n8n workflows so you can create and update Projects and react to Project events (create, update, delete).","capabilities":["Create a new project","Create or update a project","Watch for project events (Create, Update, Delete)"],"authentication":"API Token required (geoCapture API Token). Create a token in geoCapture API Settings, add the 'n8n' service to the token, then use the token as the node credential.","commonUseCases":["Automatically provision new geoCapture projects from other systems/data sources","Keep external systems in sync by creating or updating geoCapture projects from n8n workflows","Trigger downstream workflows when a project is created, updated, or deleted in geoCapture"],"limitations":["Operations listed are limited to Projects (create, create/update, and event watching); no explicit delete project action is documented","Authentication is limited to API token usage (no OAuth2 or other auth methods described)","Requires n8n version 1.60.0 or later","README does not document other geoCapture endpoints or advanced features (pagination, filtering, etc.)"],"relatedNodes":[]}


node_type: n8n-nodes-hostinger-api.hostingerApi
package_name: n8n-nodes-hostinger-api
display_name: Hostinger API
description: Interact with the Hostinger API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: devs_hostinger
author_github_url: https://github.com/hostinger/api-n8n-node.git
npm_package_name: n8n-nodes-hostinger-api
npm_version: 1.0.17
community_fetched_at: 2026-02-19T14:41:52.474Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "vps",
      "options": [
        {
          "name": "Billing",
          "value": "billing"
        },
        {
          "name": "DNS",
          "value": "dns"
        },
        {
          "name": "Domain",
          "value": "domain"
        },
        {
          "name": "Domain Forwarding",
          "value": "domainForwarding"
        },
        {
          "name": "Domain WHOIS",
          "value": "whois"
        },
        {
          "name": "Reach",
          "value": "reach"
        },
        {
          "name": "VPS",
          "value": "vps"
        },
        {
          "name": "VPS Actions",
          "value": "vpsActions"
        },
        {
          "name": "VPS Backups",
          "value": "vpsBackups"
        },
        {
          "name": "VPS Data Centers",
          "value": "vpsDataCenters"
        },
        {
          "name": "VPS Docker Manager",
          "value": "vpsDocker"
        },
        {
          "name": "VPS Firewall",
          "value": "vpsFirewall"
        },
        {
          "name": "VPS Malware Scanner",
          "value": "vpsMonarx"
        },
        {
          "name": "VPS Post Install Scripts",
          "value": "vpsScripts"
        },
        {
          "name": "VPS PTR",
          "value": "vpsPTR"
        },
        {
          "name": "VPS Public Keys",
          "value": "vpsPublicKeys"
        },
        {
          "name": "VPS Snapshots",
          "value": "vpsSnapshots"
        },
        {
          "name": "VPS Templates",
          "value": "vpsTemplates"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAction",
      "options": [
        {
          "name": "Get Action",
          "value": "getAction",
          "action": "Get VPS action"
        },
        {
          "name": "List Actions",
          "value": "listActions",
          "action": "List VPS actions"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsActions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listProjects",
      "options": [
        {
          "name": "Create Project",
          "value": "createProject",
          "action": "Create Docker project"
        },
        {
          "name": "Delete Project",
          "value": "deleteProject",
          "action": "Delete Docker project"
        },
        {
          "name": "Get Project Logs",
          "value": "getLogs",
          "action": "Get Docker project logs"
        },
        {
          "name": "List Containers",
          "value": "listContainers",
          "action": "List Docker containers"
        },
        {
          "name": "List Contents",
          "value": "listContents",
          "action": "List Docker containers content"
        },
        {
          "name": "List Projects",
          "value": "listProjects",
          "action": "List Docker projects"
        },
        {
          "name": "Restart Project",
          "value": "restartProject",
          "action": "Restart Docker project"
        },
        {
          "name": "Start Project",
          "value": "startProject",
          "action": "Start Docker project"
        },
        {
          "name": "Stop Project",
          "value": "stopProject",
          "action": "Stop Docker project"
        },
        {
          "name": "Update Project",
          "value": "updateProject",
          "action": "Update Docker project"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsDocker"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listBackups",
      "options": [
        {
          "name": "Delete Backup",
          "value": "deleteBackup",
          "action": "Delete VPS backup"
        },
        {
          "name": "List Backups",
          "value": "listBackups",
          "action": "List VPS backups"
        },
        {
          "name": "Restore Backup",
          "value": "restoreBackup",
          "action": "Restore VPS backup"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsBackups"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDataCenters",
      "options": [
        {
          "name": "List Data Centers",
          "value": "listDataCenters",
          "action": "List VPS data centers"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsDataCenters"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPTR",
      "options": [
        {
          "name": "Create PTR",
          "value": "createPTR",
          "action": "Create PTR record"
        },
        {
          "name": "Delete PTR",
          "value": "deletePTR",
          "action": "Delete PTR record"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsPTR"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "activateFirewall",
      "options": [
        {
          "name": "Firewall Activate",
          "value": "activateFirewall",
          "action": "Activate VPS firewall"
        },
        {
          "name": "Firewall Create",
          "value": "createFirewall",
          "action": "Create VPS firewall"
        },
        {
          "name": "Firewall Deactivate",
          "value": "deactivateFirewall",
          "action": "Deactivate VPS firewall"
        },
        {
          "name": "Firewall Delete",
          "value": "deleteFirewall",
          "action": "Delete VPS firewall"
        },
        {
          "name": "Firewall Get",
          "value": "getFirewall",
          "action": "Get VPS firewall"
        },
        {
          "name": "Firewall List",
          "value": "listFirewalls",
          "action": "List VPS firewalls"
        },
        {
          "name": "Firewall Rule Create",
          "value": "createFirewallRule",
          "action": "Create VPS firewall rule"
        },
        {
          "name": "Firewall Rule Delete",
          "value": "deleteFirewallRule",
          "action": "Delete VPS firewall rule"
        },
        {
          "name": "Firewall Rule Update",
          "value": "updateFirewallRule",
          "action": "Update VPS firewall rule"
        },
        {
          "name": "Firewall Sync",
          "value": "syncFirewall",
          "action": "Sync VPS firewall"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsFirewall"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMonarx",
      "options": [
        {
          "name": "Get Monarx",
          "value": "getMonarx",
          "action": "Get VPS malware scanner status"
        },
        {
          "name": "Add Monarx",
          "value": "addMonarx",
          "action": "Add VPS malware scanner"
        },
        {
          "name": "Remove Monarx",
          "value": "removeMonarx",
          "action": "Remove VPS malware scanner"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsMonarx"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTemplate",
      "options": [
        {
          "name": "Get Template",
          "value": "getTemplate",
          "action": "Get VPS template"
        },
        {
          "name": "List Templates",
          "value": "listTemplates",
          "action": "List VPS templates"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsTemplates"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getPostInstallScript",
      "options": [
        {
          "name": "Post Install Script Create",
          "value": "createPostInstallScript",
          "action": "Create VPS post install script"
        },
        {
          "name": "Post Install Script Delete",
          "value": "deletePostInstallScript",
          "action": "Delete VPS post install script"
        },
        {
          "name": "Post Install Script Get",
          "value": "getPostInstallScript",
          "action": "Get VPS post install script"
        },
        {
          "name": "Post Install Script List",
          "value": "listPostInstallScripts",
          "action": "List VPS post install scripts"
        },
        {
          "name": "Post Install Script Update",
          "value": "updatePostInstallScript",
          "action": "Update VPS post install script"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsScripts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "attachPublicKey",
      "options": [
        {
          "name": "Attach Public Key",
          "value": "attachPublicKey",
          "action": "Attach VPS public key"
        },
        {
          "name": "Delete Public Key",
          "value": "deletePublicKey",
          "action": "Delete VPS public key"
        },
        {
          "name": "List Public Keys",
          "value": "listPublicKeys",
          "action": "List VPS public keys"
        },
        {
          "name": "Create Public Key",
          "value": "createPublicKey",
          "action": "Create VPS public key"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsPublicKeys"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getSnapshot",
      "options": [
        {
          "name": "Get Snapshot",
          "value": "getSnapshot",
          "action": "Get VPS snapshot"
        },
        {
          "name": "Create Snapshot",
          "value": "createSnapshot",
          "action": "Create VPS snapshot"
        },
        {
          "name": "Delete Snapshot",
          "value": "deleteSnapshot",
          "action": "Delete VPS snapshot"
        },
        {
          "name": "Restore Snapshot",
          "value": "restoreSnapshot",
          "action": "Restore VPS snapshot"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsSnapshots"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getVm",
      "options": [
        {
          "name": "Get Metrics",
          "value": "getVmMetrics",
          "action": "Get VPS metrics"
        },
        {
          "name": "Get Public Keys",
          "value": "getVmPublicKeys",
          "action": "Get VPS public keys"
        },
        {
          "name": "Get VPS",
          "value": "getVm",
          "action": "Get VPS"
        },
        {
          "name": "Hostname Reset",
          "value": "resetHostname",
          "action": "Reset VPS hostname"
        },
        {
          "name": "Hostname Update",
          "value": "updateHostname",
          "action": "Update VPS hostname"
        },
        {
          "name": "List VPS",
          "value": "listVms",
          "action": "List VPS"
        },
        {
          "name": "Purchase New VPS",
          "value": "purchaseVm",
          "action": "Purchase new VPS"
        },
        {
          "name": "Recreate",
          "value": "recreateVm",
          "action": "Recreate VPS"
        },
        {
          "name": "Restart",
          "value": "restartVm",
          "action": "Restart VPS"
        },
        {
          "name": "Setup",
          "value": "setupVm",
          "action": "Setup VPS"
        },
        {
          "name": "Start",
          "value": "startVm",
          "action": "Start VPS"
        },
        {
          "name": "Start Recovery",
          "value": "createRecovery",
          "action": "Start VPS recovery mode"
        },
        {
          "name": "Stop",
          "value": "stopVm",
          "action": "Stop VPS"
        },
        {
          "name": "Stop Recovery",
          "value": "deleteRecovery",
          "action": "Stop VPS recovery mode"
        },
        {
          "name": "Update Nameservers",
          "value": "updateNameservers",
          "action": "Update VPS nameservers"
        },
        {
          "name": "Update Panel Password",
          "value": "updatePanelPassword",
          "action": "Update VPS control panel password"
        },
        {
          "name": "Update Root Password",
          "value": "updateRootPassword",
          "action": "Update VPS root password"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vps"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDnsSnapshots",
      "options": [
        {
          "name": "DNS Snapshot Get",
          "value": "getDnsSnapshot",
          "action": "Get DNS snapshot"
        },
        {
          "name": "DNS Snapshot List",
          "value": "listDnsSnapshots",
          "action": "List DNS snapshots"
        },
        {
          "name": "DNS Snapshot Restore",
          "value": "restoreDnsSnapshot",
          "action": "Restore DNS snapshot"
        },
        {
          "name": "DNS Zone Delete",
          "value": "deleteDnsZone",
          "action": "Delete DNS zone"
        },
        {
          "name": "DNS Zone Get",
          "value": "getDnsZone",
          "action": "Get DNS zone"
        },
        {
          "name": "DNS Zone Reset",
          "value": "resetDnsZone",
          "action": "Reset DNS zone"
        },
        {
          "name": "DNS Zone Update",
          "value": "updateDnsZone",
          "action": "Update DNS zone"
        },
        {
          "name": "DNS Zone Validate",
          "value": "validateDnsZone",
          "action": "Validate DNS zone"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dns"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDomains",
      "options": [
        {
          "name": "Check Domain Availability",
          "value": "checkDomainAvailability",
          "action": "Check domain availability"
        },
        {
          "name": "Disable Domain Lock",
          "value": "disableDomainLock",
          "action": "Disable domain lock"
        },
        {
          "name": "Disable Privacy Protection",
          "value": "disablePrivacyProtection",
          "action": "Disable domain privacy protection"
        },
        {
          "name": "Enable Domain Lock",
          "value": "enableDomainLock",
          "action": "Enable domain lock"
        },
        {
          "name": "Enable Privacy Protection",
          "value": "enablePrivacyProtection",
          "action": "Enable domain privacy protection"
        },
        {
          "name": "Get Domain",
          "value": "getDomain",
          "action": "Get a domain"
        },
        {
          "name": "List Domains",
          "value": "listDomains",
          "action": "List domains"
        },
        {
          "name": "Purchase Domain",
          "value": "purchaseDomain",
          "action": "Purchase domain"
        },
        {
          "name": "Update Nameservers",
          "value": "updateDomainNameservers",
          "action": "Update domain nameservers"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domain"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listWhoisProfiles",
      "options": [
        {
          "name": "Create WHOIS Profile",
          "value": "createWhoisProfile",
          "action": "Create WHOIS profile"
        },
        {
          "name": "Delete WHOIS Profile",
          "value": "deleteWhoisProfile",
          "action": "Delete WHOIS profile"
        },
        {
          "name": "Get WHOIS Profile",
          "value": "getWhoisProfile",
          "action": "Get WHOIS profile"
        },
        {
          "name": "Get WHOIS Profile Usage",
          "value": "getWhoisProfileUsage",
          "action": "Get WHOIS profile usage"
        },
        {
          "name": "List WHOIS Profiles",
          "value": "listWhoisProfiles",
          "action": "List WHOIS profiles"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "whois"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getForwardingData",
      "options": [
        {
          "name": "Get Forwarding Data",
          "value": "getForwardingData",
          "action": "Get domain forwarding"
        },
        {
          "name": "Delete Forwarding Data",
          "value": "deleteForwardingData",
          "action": "Delete domain forwarding"
        },
        {
          "name": "Create Forwarding Data",
          "value": "createForwardingData",
          "action": "Create domain forwarding"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domainForwarding"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCatalogList",
      "options": [
        {
          "name": "Cancel Subscription",
          "value": "deleteSubscription",
          "action": "Cancel subscription"
        },
        {
          "name": "Delete Payment Method",
          "value": "deletePaymentMethod",
          "action": "Delete payment method"
        },
        {
          "name": "Get Catalog Item List",
          "value": "getCatalogList",
          "action": "Get catalog item list"
        },
        {
          "name": "Get Payment Method List",
          "value": "getPaymentList",
          "action": "Get payment method list"
        },
        {
          "name": "Get Subscription List",
          "value": "getSubscriptionList",
          "action": "Get subscription list"
        },
        {
          "name": "Set Default Payment Method",
          "value": "setPaymentMethod",
          "action": "Set default payment method"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "billing"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listContacts",
      "options": [
        {
          "name": "Create Contact",
          "value": "createContact",
          "action": "Create Reach contact"
        },
        {
          "name": "Delete Contact",
          "value": "deleteContact",
          "action": "Delete Reach contact"
        },
        {
          "name": "Get Segment",
          "value": "getSegment",
          "action": "Get Reach segment"
        },
        {
          "name": "Get Segment Contacts",
          "value": "getSegmentContacts",
          "action": "Get Reach segment contacts"
        },
        {
          "name": "List Contacts",
          "value": "listContacts",
          "action": "List Reach contacts"
        },
        {
          "name": "List Segments",
          "value": "listSegments",
          "action": "List Reach segments"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reach"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Action",
      "value": "getAction",
      "action": "Get VPS action"
    },
    {
      "name": "List Actions",
      "value": "listActions",
      "action": "List VPS actions"
    },
    {
      "name": "Create Project",
      "value": "createProject",
      "action": "Create Docker project"
    },
    {
      "name": "Delete Project",
      "value": "deleteProject",
      "action": "Delete Docker project"
    },
    {
      "name": "Get Project Logs",
      "value": "getLogs",
      "action": "Get Docker project logs"
    },
    {
      "name": "List Containers",
      "value": "listContainers",
      "action": "List Docker containers"
    },
    {
      "name": "List Contents",
      "value": "listContents",
      "action": "List Docker containers content"
    },
    {
      "name": "List Projects",
      "value": "listProjects",
      "action": "List Docker projects"
    },
    {
      "name": "Restart Project",
      "value": "restartProject",
      "action": "Restart Docker project"
    },
    {
      "name": "Start Project",
      "value": "startProject",
      "action": "Start Docker project"
    },
    {
      "name": "Stop Project",
      "value": "stopProject",
      "action": "Stop Docker project"
    },
    {
      "name": "Update Project",
      "value": "updateProject",
      "action": "Update Docker project"
    },
    {
      "name": "Delete Backup",
      "value": "deleteBackup",
      "action": "Delete VPS backup"
    },
    {
      "name": "List Backups",
      "value": "listBackups",
      "action": "List VPS backups"
    },
    {
      "name": "Restore Backup",
      "value": "restoreBackup",
      "action": "Restore VPS backup"
    },
    {
      "name": "List Data Centers",
      "value": "listDataCenters",
      "action": "List VPS data centers"
    },
    {
      "name": "Create PTR",
      "value": "createPTR",
      "action": "Create PTR record"
    },
    {
      "name": "Delete PTR",
      "value": "deletePTR",
      "action": "Delete PTR record"
    },
    {
      "name": "Firewall Activate",
      "value": "activateFirewall",
      "action": "Activate VPS firewall"
    },
    {
      "name": "Firewall Create",
      "value": "createFirewall",
      "action": "Create VPS firewall"
    },
    {
      "name": "Firewall Deactivate",
      "value": "deactivateFirewall",
      "action": "Deactivate VPS firewall"
    },
    {
      "name": "Firewall Delete",
      "value": "deleteFirewall",
      "action": "Delete VPS firewall"
    },
    {
      "name": "Firewall Get",
      "value": "getFirewall",
      "action": "Get VPS firewall"
    },
    {
      "name": "Firewall List",
      "value": "listFirewalls",
      "action": "List VPS firewalls"
    },
    {
      "name": "Firewall Rule Create",
      "value": "createFirewallRule",
      "action": "Create VPS firewall rule"
    },
    {
      "name": "Firewall Rule Delete",
      "value": "deleteFirewallRule",
      "action": "Delete VPS firewall rule"
    },
    {
      "name": "Firewall Rule Update",
      "value": "updateFirewallRule",
      "action": "Update VPS firewall rule"
    },
    {
      "name": "Firewall Sync",
      "value": "syncFirewall",
      "action": "Sync VPS firewall"
    },
    {
      "name": "Get Monarx",
      "value": "getMonarx",
      "action": "Get VPS malware scanner status"
    },
    {
      "name": "Add Monarx",
      "value": "addMonarx",
      "action": "Add VPS malware scanner"
    },
    {
      "name": "Remove Monarx",
      "value": "removeMonarx",
      "action": "Remove VPS malware scanner"
    },
    {
      "name": "Get Template",
      "value": "getTemplate",
      "action": "Get VPS template"
    },
    {
      "name": "List Templates",
      "value": "listTemplates",
      "action": "List VPS templates"
    },
    {
      "name": "Post Install Script Create",
      "value": "createPostInstallScript",
      "action": "Create VPS post install script"
    },
    {
      "name": "Post Install Script Delete",
      "value": "deletePostInstallScript",
      "action": "Delete VPS post install script"
    },
    {
      "name": "Post Install Script Get",
      "value": "getPostInstallScript",
      "action": "Get VPS post install script"
    },
    {
      "name": "Post Install Script List",
      "value": "listPostInstallScripts",
      "action": "List VPS post install scripts"
    },
    {
      "name": "Post Install Script Update",
      "value": "updatePostInstallScript",
      "action": "Update VPS post install script"
    },
    {
      "name": "Attach Public Key",
      "value": "attachPublicKey",
      "action": "Attach VPS public key"
    },
    {
      "name": "Delete Public Key",
      "value": "deletePublicKey",
      "action": "Delete VPS public key"
    },
    {
      "name": "List Public Keys",
      "value": "listPublicKeys",
      "action": "List VPS public keys"
    },
    {
      "name": "Create Public Key",
      "value": "createPublicKey",
      "action": "Create VPS public key"
    },
    {
      "name": "Get Snapshot",
      "value": "getSnapshot",
      "action": "Get VPS snapshot"
    },
    {
      "name": "Create Snapshot",
      "value": "createSnapshot",
      "action": "Create VPS snapshot"
    },
    {
      "name": "Delete Snapshot",
      "value": "deleteSnapshot",
      "action": "Delete VPS snapshot"
    },
    {
      "name": "Restore Snapshot",
      "value": "restoreSnapshot",
      "action": "Restore VPS snapshot"
    },
    {
      "name": "Get Metrics",
      "value": "getVmMetrics",
      "action": "Get VPS metrics"
    },
    {
      "name": "Get Public Keys",
      "value": "getVmPublicKeys",
      "action": "Get VPS public keys"
    },
    {
      "name": "Get VPS",
      "value": "getVm",
      "action": "Get VPS"
    },
    {
      "name": "Hostname Reset",
      "value": "resetHostname",
      "action": "Reset VPS hostname"
    },
    {
      "name": "Hostname Update",
      "value": "updateHostname",
      "action": "Update VPS hostname"
    },
    {
      "name": "List VPS",
      "value": "listVms",
      "action": "List VPS"
    },
    {
      "name": "Purchase New VPS",
      "value": "purchaseVm",
      "action": "Purchase new VPS"
    },
    {
      "name": "Recreate",
      "value": "recreateVm",
      "action": "Recreate VPS"
    },
    {
      "name": "Restart",
      "value": "restartVm",
      "action": "Restart VPS"
    },
    {
      "name": "Setup",
      "value": "setupVm",
      "action": "Setup VPS"
    },
    {
      "name": "Start",
      "value": "startVm",
      "action": "Start VPS"
    },
    {
      "name": "Start Recovery",
      "value": "createRecovery",
      "action": "Start VPS recovery mode"
    },
    {
      "name": "Stop",
      "value": "stopVm",
      "action": "Stop VPS"
    },
    {
      "name": "Stop Recovery",
      "value": "deleteRecovery",
      "action": "Stop VPS recovery mode"
    },
    {
      "name": "Update Nameservers",
      "value": "updateNameservers",
      "action": "Update VPS nameservers"
    },
    {
      "name": "Update Panel Password",
      "value": "updatePanelPassword",
      "action": "Update VPS control panel password"
    },
    {
      "name": "Update Root Password",
      "value": "updateRootPassword",
      "action": "Update VPS root password"
    },
    {
      "name": "DNS Snapshot Get",
      "value": "getDnsSnapshot",
      "action": "Get DNS snapshot"
    },
    {
      "name": "DNS Snapshot List",
      "value": "listDnsSnapshots",
      "action": "List DNS snapshots"
    },
    {
      "name": "DNS Snapshot Restore",
      "value": "restoreDnsSnapshot",
      "action": "Restore DNS snapshot"
    },
    {
      "name": "DNS Zone Delete",
      "value": "deleteDnsZone",
      "action": "Delete DNS zone"
    },
    {
      "name": "DNS Zone Get",
      "value": "getDnsZone",
      "action": "Get DNS zone"
    },
    {
      "name": "DNS Zone Reset",
      "value": "resetDnsZone",
      "action": "Reset DNS zone"
    },
    {
      "name": "DNS Zone Update",
      "value": "updateDnsZone",
      "action": "Update DNS zone"
    },
    {
      "name": "DNS Zone Validate",
      "value": "validateDnsZone",
      "action": "Validate DNS zone"
    },
    {
      "name": "Check Domain Availability",
      "value": "checkDomainAvailability",
      "action": "Check domain availability"
    },
    {
      "name": "Disable Domain Lock",
      "value": "disableDomainLock",
      "action": "Disable domain lock"
    },
    {
      "name": "Disable Privacy Protection",
      "value": "disablePrivacyProtection",
      "action": "Disable domain privacy protection"
    },
    {
      "name": "Enable Domain Lock",
      "value": "enableDomainLock",
      "action": "Enable domain lock"
    },
    {
      "name": "Enable Privacy Protection",
      "value": "enablePrivacyProtection",
      "action": "Enable domain privacy protection"
    },
    {
      "name": "Get Domain",
      "value": "getDomain",
      "action": "Get a domain"
    },
    {
      "name": "List Domains",
      "value": "listDomains",
      "action": "List domains"
    },
    {
      "name": "Purchase Domain",
      "value": "purchaseDomain",
      "action": "Purchase domain"
    },
    {
      "name": "Update Nameservers",
      "value": "updateDomainNameservers",
      "action": "Update domain nameservers"
    },
    {
      "name": "Create WHOIS Profile",
      "value": "createWhoisProfile",
      "action": "Create WHOIS profile"
    },
    {
      "name": "Delete WHOIS Profile",
      "value": "deleteWhoisProfile",
      "action": "Delete WHOIS profile"
    },
    {
      "name": "Get WHOIS Profile",
      "value": "getWhoisProfile",
      "action": "Get WHOIS profile"
    },
    {
      "name": "Get WHOIS Profile Usage",
      "value": "getWhoisProfileUsage",
      "action": "Get WHOIS profile usage"
    },
    {
      "name": "List WHOIS Profiles",
      "value": "listWhoisProfiles",
      "action": "List WHOIS profiles"
    },
    {
      "name": "Get Forwarding Data",
      "value": "getForwardingData",
      "action": "Get domain forwarding"
    },
    {
      "name": "Delete Forwarding Data",
      "value": "deleteForwardingData",
      "action": "Delete domain forwarding"
    },
    {
      "name": "Create Forwarding Data",
      "value": "createForwardingData",
      "action": "Create domain forwarding"
    },
    {
      "name": "Cancel Subscription",
      "value": "deleteSubscription",
      "action": "Cancel subscription"
    },
    {
      "name": "Delete Payment Method",
      "value": "deletePaymentMethod",
      "action": "Delete payment method"
    },
    {
      "name": "Get Catalog Item List",
      "value": "getCatalogList",
      "action": "Get catalog item list"
    },
    {
      "name": "Get Payment Method List",
      "value": "getPaymentList",
      "action": "Get payment method list"
    },
    {
      "name": "Get Subscription List",
      "value": "getSubscriptionList",
      "action": "Get subscription list"
    },
    {
      "name": "Set Default Payment Method",
      "value": "setPaymentMethod",
      "action": "Set default payment method"
    },
    {
      "name": "Create Contact",
      "value": "createContact",
      "action": "Create Reach contact"
    },
    {
      "name": "Delete Contact",
      "value": "deleteContact",
      "action": "Delete Reach contact"
    },
    {
      "name": "Get Segment",
      "value": "getSegment",
      "action": "Get Reach segment"
    },
    {
      "name": "Get Segment Contacts",
      "value": "getSegmentContacts",
      "action": "Get Reach segment contacts"
    },
    {
      "name": "List Contacts",
      "value": "listContacts",
      "action": "List Reach contacts"
    },
    {
      "name": "List Segments",
      "value": "listSegments",
      "action": "List Reach segments"
    }
  ]

npm_readme:
  # n8n-nodes-hostinger-api

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

  Hostinger API allows you to manage your virtual private servers, domains, billing, email marketing, and more. Automate provisioning, monitor resources, and perform various administrative actions programmatically.

  [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

  The Hostinger API node supports the following operations:

  - **Server Management**
  	- List VPS instances
  	- Start/Stop/Restart/Purchase a VPS
  	- Reinstall operating system
  	- Reset root password
  	- Manage SSH keys and post-install scripts

  - **Domain Management**
  	- List domains and check availability
  	- Purchase and manage domains
  	- Configure privacy protection and domain lock
  	- Manage DNS zones and records
  	- Domain forwarding and WHOIS profiles

  - **Monitoring**
  	- Fetch VPS resource usage (CPU, RAM, Disk)
  	- Get server status and uptime
  	- View action history

  - **Networking**
  	- Manage IP addresses and PTR records
  	- Configure firewall rules
  	- Enable/disable backups and snapshots
  	- Malware scanner integration

  - **Provisioning**
  	- Create new VPS instance
  	- Delete VPS instance
  	- Manage data centers and templates

  - **Billing**
  	- View catalog and pricing
  	- Manage payment methods and subscriptions

  - **Email Marketing (Reach)**
  	- List and manage email contacts
  	- Create new contacts with custom fields
  	- Delete contacts by UUID
  	- Manage contact groups
  	- Filter contacts by subscription status

  ## Credentials

  To use this node, you will need to authenticate with the Hostinger API.

  1. **Sign up** for a Hostinger account and obtain a VPS.
  2. **Obtain API Access**:
  	- Hostinger provides API tokens via your account dashboard or API settings (refer to official API docs).
  3. **Set up credentials in n8n**:
  	- Go to **Settings > Credentials** in n8n.
  	- Add a new set of credentials for **Hostinger API** using:
  		- **API Key**

  ## Compatibility

  No known version incompatibilities at this time.

  ## Usage

  1. **Add the Hostinger API node** to your workflow.
  2. **Select the desired operation** (e.g., Start VPS, Create Contact, Check Domain).
  3. **Provide required parameters**, such as VPS ID, contact details, domain name, etc.
  4. **Execute the workflow** and automate your Hostinger management tasks.

  For more complex workflows, combine this node with standard n8n nodes such as HTTP Request, Function, and Set.

  Helpful link for beginners: [Try it out](https://docs.n8n.io/try-it-out/)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Hostinger API documentation](https://developers.hostinger.com/)
  * [Hostinger VPS Overview](https://www.hostinger.com/vps-hosting)

  ## Version history

  - **v1.0.17**:
    - Fixed release workflow configuration
    - Added GITHUB_TOKEN for automated GitHub releases
    - Synced package.json version with npm registry

  - **v1.0.15**:
    - Added segment actions for Email Marketing (Reach)
      - List Segments operation
      - Get Segment operation
      - Get Segment Contacts operation
    - Removed contact groups functionality (replaced with segments)

  - **v1.0.14**:
    - Added fields for Domain Purchase, Check Domain Availability and Update Domain Nameservers operations
    - Refactored scripts for building, linting, and releasing using n8n-node CLI
    - Added strict mode in n8n configuration
    - Updated devDependencies to use latest versions and added release-it for version management
    - Simplified tsconfig.json include paths

  - **v1.0.12**:
    - Refactored the node to use Resources and Operations

  - **v1.0.11**:
    - Updated dependencies

  - **v1.0.10**:
    - Updated dependencies

  - **v1.0.9**:
    - Updated dependencies

  - **v1.0.8**:
    - Added VPS Docker Manager endpoints

  - **v1.0.7**:
    - Added n8n credentials test

  - **v1.0.6**:
    - Updated dependencies

  - **v1.0.5**:
    - Added Email Marketing (Reach) endpoints

  - **v1.0.4**:
    - Added Purchase VM Method
    - Added Billing methods
    - Added Domain Portfolio methods
    - Added Domain WHOIS methods
    - Added Domain Forwarding methods

  - **v1.0.3**:
    - No significant changes

  - **v1.0.2**:
    - Fixed inputs on category selection

  - **v1.0.1**:
    - Added `User-Agent` header

  - **v1.0.0**:
    - Initial release
    - Supports full suite of VPS operations including server management, monitoring, and networking.

ai_documentation_summary:
  {"purpose":"Provides actions to interact with Hostinger's REST API from n8n workflows, enabling management of VPS, domains, billing, networking, monitoring, and email marketing programmatically.","capabilities":["List VPS instances","Start, Stop, Restart, Purchase VPS","Create and Delete VPS instances (provisioning)","Reinstall OS and reset root password","Manage SSH keys and post-install scripts","Fetch VPS resource usage (CPU, RAM, Disk) and server status/uptime","View server action history","Manage IP addresses and PTR records","Configure firewall rules","Enable/disable backups and snapshots"],"authentication":"API key required (Hostinger API token configured in n8n Credentials)","commonUseCases":["Automate VPS lifecycle: provision, start/stop/restart, reinstall OS, and delete servers","Monitor VPS health and resource usage and trigger alerts or autoscaling workflows","Automate domain purchases, DNS changes, WHOIS updates and domain forwarding","Manage billing tasks: view catalog/pricing and automate subscription or payment method updates","Operate email marketing lists and segments: add/remove contacts and sync contact status"],"limitations":[],"relatedNodes":["HTTP Request","Function","Set"]}


node_type: @bedrijfsdatanl/n8n-nodes-bedrijfsdata.bedrijfsdata
package_name: @bedrijfsdatanl/n8n-nodes-bedrijfsdata
display_name: Bedrijfsdata
description: Get data from the Bedrijfsdata API.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: ocjanssen
author_github_url: https://github.com/ocjanssen/n8n-nodes-bedrijfsdata.git
npm_package_name: @bedrijfsdatanl/n8n-nodes-bedrijfsdata
npm_version: 0.1.9
community_fetched_at: 2026-02-19T14:41:52.475Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "companies",
      "options": [
        {
          "name": "Company",
          "value": "companies"
        },
        {
          "name": "Company (Related)",
          "value": "companies_related"
        },
        {
          "name": "Data (Advanced)",
          "value": "advanced_data"
        },
        {
          "name": "Enrich",
          "value": "enrich"
        },
        {
          "name": "Live Web RAG",
          "value": "rag"
        },
        {
          "name": "LLM Template",
          "value": "llm"
        },
        {
          "name": "Other Data",
          "value": "data_misc"
        },
        {
          "name": "Validation & Cleansing",
          "value": "validation"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_many",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get company",
          "routing": {
            "request": {
              "qs": {
                "front": 30,
                "country": "nl"
              },
              "url": "/companies",
              "method": "GET"
            }
          },
          "description": "Retrieve a company profile by Bedrijfsdata.nl ID"
        },
        {
          "name": "Get Many",
          "value": "get_many",
          "action": "Get companies",
          "routing": {
            "request": {
              "qs": {
                "front": 30,
                "and_or": "AND"
              },
              "url": "/companies",
              "method": "GET"
            }
          },
          "description": "Retrieve company profiles with advanced filtering options"
        },
        {
          "name": "Get Parameter Suggestions",
          "value": "get_suggest",
          "action": "Get parameter suggestions",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/suggest",
              "method": "GET"
            }
          },
          "description": "Retrieve valid filter values for text, apps, city & domain fields in \"Get Companies\" (/companies)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Enrich Company Data",
          "value": "get",
          "action": "Enrich company data",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/enrich",
              "method": "GET"
            }
          },
          "description": "Enrich your own company data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "enrich"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Execute LLM Template",
          "value": "get",
          "action": "Execute llm template",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/llm",
              "method": "GET"
            }
          },
          "description": "Generate custom content by executing your LLM template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "llm"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_url",
      "options": [
        {
          "name": "Get RAG Domain",
          "value": "get_domain",
          "action": "Get RAG domain",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/rag_domain",
              "method": "GET"
            }
          },
          "description": "Get content from a publicly accessible website"
        },
        {
          "name": "Get RAG URL",
          "value": "get_url",
          "action": "Get RAG URL",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/rag_url",
              "method": "GET"
            }
          },
          "description": "Get content from a publicly accessible URL"
        },
        {
          "name": "Get RAG Search",
          "value": "get_search",
          "action": "Get RAG search",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/rag_search",
              "method": "GET"
            }
          },
          "description": "Get search snippets from popular search engines by query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_family",
      "options": [
        {
          "name": "Get Corporate Family",
          "value": "get_family",
          "action": "Get corporate family",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/corporate_family",
              "method": "GET"
            }
          },
          "description": "Get companies from same corporate family as a specific company"
        },
        {
          "name": "Get Shared Address",
          "value": "get_same_address",
          "action": "Get shared address",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/shared_address",
              "method": "GET"
            }
          },
          "description": "Get companies that are registered on the same address as a specific company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies_related"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_people",
      "options": [
        {
          "name": "Get Many Employees",
          "value": "get_people",
          "action": "Get many employees",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/people",
              "method": "GET"
            }
          },
          "description": "Get employees of a specific company"
        },
        {
          "name": "Get Many News",
          "value": "get_news",
          "action": "Get many news",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/news",
              "method": "GET"
            }
          },
          "description": "Get news about a specific company"
        },
        {
          "name": "Get Many Vacancies",
          "value": "get_vacancies",
          "action": "Get many vacancies",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/vacancies",
              "method": "GET"
            }
          },
          "description": "Get vacancies of a specific company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "advanced_data"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_url",
      "options": [
        {
          "name": "Geocoding",
          "value": "get_geocoding",
          "action": "Geocoding",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/geocoding",
              "method": "GET"
            }
          },
          "description": "Validate and format unstructured geographic data"
        },
        {
          "name": "Validate BIC Number",
          "value": "get_bic",
          "action": "Validate bic number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/bic",
              "method": "GET"
            }
          },
          "description": "Validate BIC numbers"
        },
        {
          "name": "Validate City",
          "value": "get_city",
          "action": "Validate city",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/city",
              "method": "GET"
            }
          },
          "description": "Validate (global) cities"
        },
        {
          "name": "Validate Dutch VAT Number",
          "value": "get_vat",
          "action": "Validate dutch vat number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/vat",
              "method": "GET"
            }
          },
          "description": "Validate Dutch VAT numbers (btw-nummers)"
        },
        {
          "name": "Validate Email Address",
          "value": "get_email",
          "action": "Validate email address",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/email",
              "method": "GET"
            }
          },
          "description": "Validate email addresses (basic validation only)"
        },
        {
          "name": "Validate IBAN Number",
          "value": "get_iban",
          "action": "Validate iban number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/iban",
              "method": "GET"
            }
          },
          "description": "Validate IBAN numbers"
        },
        {
          "name": "Validate KvK Number",
          "value": "get_kvk",
          "action": "Validate kv k number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/kvk",
              "method": "GET"
            }
          },
          "description": "Validate KvK numbers"
        },
        {
          "name": "Validate LEI Number",
          "value": "get_lei",
          "action": "Validate lei number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/lei",
              "method": "GET"
            }
          },
          "description": "Validate LEI numbers"
        },
        {
          "name": "Validate Phone Number",
          "value": "get_phone",
          "action": "Validate phone number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/phone",
              "method": "GET"
            }
          },
          "description": "Validate (global) phone numbers"
        },
        {
          "name": "Validate Postcode",
          "value": "get_postcode",
          "action": "Validate postcode",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/postcode",
              "method": "GET"
            }
          },
          "description": "Validate (global) postcodes"
        },
        {
          "name": "Validate URL",
          "value": "get_url",
          "action": "Validate URL",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/url",
              "method": "GET"
            }
          },
          "description": "Validate URL's"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "validation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_siterank",
      "options": [
        {
          "name": "Get BAG Data",
          "value": "get_bag",
          "action": "Get bag data",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/bag",
              "method": "GET"
            }
          },
          "description": "Get Dutch BAG data by address"
        },
        {
          "name": "Get DNS Scan",
          "value": "get_dns",
          "action": "Get DNS scan",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/dns",
              "method": "GET"
            }
          },
          "description": "Retrieve data straight from a domain's DNS"
        },
        {
          "name": "Get EU Tenders",
          "value": "get_tender",
          "action": "Get eu tenders",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/tender",
              "method": "GET"
            }
          },
          "description": "Query the European Tender database"
        },
        {
          "name": "Get Exchange Rate",
          "value": "get_currency",
          "action": "Get exchange rate",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/currency",
              "method": "GET"
            }
          },
          "description": "Get exchange rates for 300+ currencies (incl. crypto)."
        },
        {
          "name": "Get Password Leaks",
          "value": "get_password",
          "action": "Get password leaks",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/password",
              "method": "GET"
            }
          },
          "description": "Find out how many times a password was leaked before"
        },
        {
          "name": "Get Property Information",
          "value": "get_property",
          "action": "Get property information",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/property",
              "method": "GET"
            }
          },
          "description": "Get property information by address or company ID"
        },
        {
          "name": "Get Web Rankings",
          "value": "get_webrank",
          "action": "Get web rankings",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/webrank",
              "method": "GET"
            }
          },
          "description": "Get global rankings like Majestic, CRUX, CloudFlare and DomCop"
        },
        {
          "name": "Get Website Performance",
          "value": "get_siterank",
          "action": "Get website performance",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/siterank",
              "method": "GET"
            }
          },
          "description": "Get data on a company's website performance and popularity ranking"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "data_misc"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get company",
      "routing": {
        "request": {
          "qs": {
            "front": 30,
            "country": "nl"
          },
          "url": "/companies",
          "method": "GET"
        }
      },
      "description": "Retrieve a company profile by Bedrijfsdata.nl ID"
    },
    {
      "name": "Get Many",
      "value": "get_many",
      "action": "Get companies",
      "routing": {
        "request": {
          "qs": {
            "front": 30,
            "and_or": "AND"
          },
          "url": "/companies",
          "method": "GET"
        }
      },
      "description": "Retrieve company profiles with advanced filtering options"
    },
    {
      "name": "Get Parameter Suggestions",
      "value": "get_suggest",
      "action": "Get parameter suggestions",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/suggest",
          "method": "GET"
        }
      },
      "description": "Retrieve valid filter values for text, apps, city & domain fields in \"Get Companies\" (/companies)"
    },
    {
      "name": "Enrich Company Data",
      "value": "get",
      "action": "Enrich company data",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/enrich",
          "method": "GET"
        }
      },
      "description": "Enrich your own company data"
    },
    {
      "name": "Execute LLM Template",
      "value": "get",
      "action": "Execute llm template",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/llm",
          "method": "GET"
        }
      },
      "description": "Generate custom content by executing your LLM template"
    },
    {
      "name": "Get RAG Domain",
      "value": "get_domain",
      "action": "Get RAG domain",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/rag_domain",
          "method": "GET"
        }
      },
      "description": "Get content from a publicly accessible website"
    },
    {
      "name": "Get RAG URL",
      "value": "get_url",
      "action": "Get RAG URL",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/rag_url",
          "method": "GET"
        }
      },
      "description": "Get content from a publicly accessible URL"
    },
    {
      "name": "Get RAG Search",
      "value": "get_search",
      "action": "Get RAG search",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/rag_search",
          "method": "GET"
        }
      },
      "description": "Get search snippets from popular search engines by query"
    },
    {
      "name": "Get Corporate Family",
      "value": "get_family",
      "action": "Get corporate family",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/corporate_family",
          "method": "GET"
        }
      },
      "description": "Get companies from same corporate family as a specific company"
    },
    {
      "name": "Get Shared Address",
      "value": "get_same_address",
      "action": "Get shared address",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/shared_address",
          "method": "GET"
        }
      },
      "description": "Get companies that are registered on the same address as a specific company"
    },
    {
      "name": "Get Many Employees",
      "value": "get_people",
      "action": "Get many employees",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/people",
          "method": "GET"
        }
      },
      "description": "Get employees of a specific company"
    },
    {
      "name": "Get Many News",
      "value": "get_news",
      "action": "Get many news",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/news",
          "method": "GET"
        }
      },
      "description": "Get news about a specific company"
    },
    {
      "name": "Get Many Vacancies",
      "value": "get_vacancies",
      "action": "Get many vacancies",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/vacancies",
          "method": "GET"
        }
      },
      "description": "Get vacancies of a specific company"
    },
    {
      "name": "Geocoding",
      "value": "get_geocoding",
      "action": "Geocoding",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/geocoding",
          "method": "GET"
        }
      },
      "description": "Validate and format unstructured geographic data"
    },
    {
      "name": "Validate BIC Number",
      "value": "get_bic",
      "action": "Validate bic number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/bic",
          "method": "GET"
        }
      },
      "description": "Validate BIC numbers"
    },
    {
      "name": "Validate City",
      "value": "get_city",
      "action": "Validate city",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/city",
          "method": "GET"
        }
      },
      "description": "Validate (global) cities"
    },
    {
      "name": "Validate Dutch VAT Number",
      "value": "get_vat",
      "action": "Validate dutch vat number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/vat",
          "method": "GET"
        }
      },
      "description": "Validate Dutch VAT numbers (btw-nummers)"
    },
    {
      "name": "Validate Email Address",
      "value": "get_email",
      "action": "Validate email address",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/email",
          "method": "GET"
        }
      },
      "description": "Validate email addresses (basic validation only)"
    },
    {
      "name": "Validate IBAN Number",
      "value": "get_iban",
      "action": "Validate iban number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/iban",
          "method": "GET"
        }
      },
      "description": "Validate IBAN numbers"
    },
    {
      "name": "Validate KvK Number",
      "value": "get_kvk",
      "action": "Validate kv k number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/kvk",
          "method": "GET"
        }
      },
      "description": "Validate KvK numbers"
    },
    {
      "name": "Validate LEI Number",
      "value": "get_lei",
      "action": "Validate lei number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/lei",
          "method": "GET"
        }
      },
      "description": "Validate LEI numbers"
    },
    {
      "name": "Validate Phone Number",
      "value": "get_phone",
      "action": "Validate phone number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/phone",
          "method": "GET"
        }
      },
      "description": "Validate (global) phone numbers"
    },
    {
      "name": "Validate Postcode",
      "value": "get_postcode",
      "action": "Validate postcode",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/postcode",
          "method": "GET"
        }
      },
      "description": "Validate (global) postcodes"
    },
    {
      "name": "Validate URL",
      "value": "get_url",
      "action": "Validate URL",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/url",
          "method": "GET"
        }
      },
      "description": "Validate URL's"
    },
    {
      "name": "Get BAG Data",
      "value": "get_bag",
      "action": "Get bag data",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/bag",
          "method": "GET"
        }
      },
      "description": "Get Dutch BAG data by address"
    },
    {
      "name": "Get DNS Scan",
      "value": "get_dns",
      "action": "Get DNS scan",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/dns",
          "method": "GET"
        }
      },
      "description": "Retrieve data straight from a domain's DNS"
    },
    {
      "name": "Get EU Tenders",
      "value": "get_tender",
      "action": "Get eu tenders",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/tender",
          "method": "GET"
        }
      },
      "description": "Query the European Tender database"
    },
    {
      "name": "Get Exchange Rate",
      "value": "get_currency",
      "action": "Get exchange rate",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/currency",
          "method": "GET"
        }
      },
      "description": "Get exchange rates for 300+ currencies (incl. crypto)."
    },
    {
      "name": "Get Password Leaks",
      "value": "get_password",
      "action": "Get password leaks",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/password",
          "method": "GET"
        }
      },
      "description": "Find out how many times a password was leaked before"
    },
    {
      "name": "Get Property Information",
      "value": "get_property",
      "action": "Get property information",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/property",
          "method": "GET"
        }
      },
      "description": "Get property information by address or company ID"
    },
    {
      "name": "Get Web Rankings",
      "value": "get_webrank",
      "action": "Get web rankings",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/webrank",
          "method": "GET"
        }
      },
      "description": "Get global rankings like Majestic, CRUX, CloudFlare and DomCop"
    },
    {
      "name": "Get Website Performance",
      "value": "get_siterank",
      "action": "Get website performance",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/siterank",
          "method": "GET"
        }
      },
      "description": "Get data on a company's website performance and popularity ranking"
    }
  ]

npm_readme:
  # n8n-nodes-bedrijfsdata

  ![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png)

  An n8n community node for integrating with the [Bedrijfsdata.nl API](https://docs.bedrijfsdata.nl/). This node allows you to search and retrieve comprehensive Dutch company information directly within your n8n workflows.

  [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.

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Select **Install**
  3. Enter `n8n-nodes-bedrijfsdata`
  4. Agree to the risks and select **Install**

  ### Docker (Quick Start)

  Run n8n with the Bedrijfsdata node pre-installed:

  ```bash
  ./run.sh
  ```

  Then access n8n at http://localhost:5678

  To update the node after making changes:
  ```bash
  npm run build && docker-compose restart
  ```

  ### Manual Installation

  To get started:

  ```bash
  npm install n8n-nodes-bedrijfsdata
  ```

  ## Credentials

  You need a Bedrijfsdata.nl API key to use this node:

  1. Sign up at [Bedrijfsdata.nl](https://bedrijfsdata.nl/)
  2. Get your API key from your account dashboard
  3. In n8n, create new credentials of type "Bedrijfsdata API"
  4. Enter your API key

  ## Supported Operations

  ### Companies Resource

  #### Get Company
  Retrieve a company profile by Bedrijfsdata.nl ID.

  #### Get Companies
  Search and retrieve Dutch company information with extensive filtering options:

  **Basic Search Parameters:**
  - **Country**: Netherlands (required)
  - **Text**: Keyword search across company names, industries, activities, and website content

  **Company Identification:**
  - **Company ID**: Bedrijfsdata.nl unique identifier
  - **Company Name**: Official company name
  - **All Names**: Search across all known names including trade names
  - **Chamber of Commerce Number**: KvK number
  - **VAT Number**: BTW number
  - **Domain**: Company website domain

  **Location-based Search:**
  - **City**: Dutch city (case-sensitive, official name)
  - **Province**: Dutch province (case-sensitive, official name)
  - **Postcode**: Dutch postal code
  - **Address ID**: Format: NL{postcode}-{house number} (e.g., "NL1234AB-150")
  - **Location**: Search by city/municipality with distance
  - **Geo Coordinates**: Search by latitude,longitude with distance
  - **Distance**: Radius in kilometers (use with location or geo coordinates)

  **Company Characteristics:**
  - **Office Type**: Hoofdvestiging (main office) or Nevenvestiging (branch office)
  - **Organization Type**: Legal entity types (BV, NV, Stichting, etc.)
  - **Employees**: Number of employees (range format: 5:10, 5:, :10)
  - **Revenue**: Annual revenue (range format: 500000:1000000, 500000:, :1000000)
  - **Founded**: Year of establishment (range format: 2010:2020, 2010:, :2020)
  - **SBI Code**: Industry classification codes (comma-separated)

  **Digital Presence:**
  - **Apps**: Technologies/apps used by the company
  - **Monthly Visits**: Website traffic estimates (range format)
  - **Social Exists**: Available social media channels (Facebook, Instagram, LinkedIn, etc.)
  - **Social Interactions**: Social media engagement metrics (range format)
  - **PageRank**: DomCop PageRank (0-10, range format)
  - **Crux Rank**: Crux ranking (1-50m, range format)
  - **Tranco Rank**: Tranco ranking (1-3m, range format)

  **Relationship Analysis:**
  - **Linked By**: Domains that link to the company website
  - **Link Domain**: Domains the company links to
  - **Mentioned By**: Domains that mention the company
  - **Relation**: Combination of linked_by, mentioned_by, and linkdomain

  **Data Availability:**
  - **Data Exists**: Filter by available data types (address, email, phone, etc.)
  - **Rating**: Average review rating (0-5, range format)
  - **Reviews**: Number of reviews (range format)

  **Output Control:**
  - **Rows**: Number of companies to return

  ### Enrich Resource

  #### Enrich Company Data
  Enrich your own company data with additional information from Bedrijfsdata.

  ### LLM Template Resource

  #### Execute LLM Template
  Generate custom content by executing your LLM template with company data.

  ### Web RAG Resource

  #### Get RAG domain
  Extract and analyze content from a publicly accessible website.

  #### Get RAG URL
  Extract and analyze content from a publicly accessible URL.

  #### Get RAG Search
  Get search snippets from popular search engines by query.

  ### Related Companies Resource

  #### Get Corporate Family
  Find companies that belong to the same corporate family as a specific company.

  #### Get Shared Address
  Discover companies that are registered at the same address as a specific company.

  ### Advanced Company Data Resource

  #### Get Many Employees
  Retrieve employee information for a specific company.

  #### Get Many News
  Collect news articles related to a specific company.

  #### Get Many Vacancies
  Find job openings posted by a specific company.

  ### Validation & Cleansing Resource

  #### Validate Email Address
  Perform basic validation on email addresses.

  #### Validate BIC Number
  Verify the validity of BIC (Bank Identifier Code) numbers.

  #### Validate City
  Validate global city names.

  #### Geocoding
  Convert addresses to geographic coordinates and vice versa.

  #### Validate IBAN Number
  Check the validity of IBAN (International Bank Account Number) formats.

  #### Validate KvK Number
  Verify Dutch Chamber of Commerce (KvK) registration numbers.

  #### Validate LEI Number
  Validate Legal Entity Identifier (LEI) numbers.

  #### Validate Phone Number
  Check and format global phone numbers.

  #### Validate Postcode
  Verify postal code formats from different countries.

  #### Validate URL
  Check URL validity and structure.

  #### Validate Dutch VAT Number
  Verify Dutch VAT numbers (BTW-nummers).

  ### Other Data Resource

  #### Get BAG Data
  Retrieve Dutch BAG (Basisregistratie Adressen en Gebouwen) data by address.

  #### Get Exchange Rate
  Access exchange rates for over 300 currencies, including cryptocurrencies.

  #### Get DNS Scan
  Extract data directly from a domain's DNS records.

  #### Get Password Leaks
  Check how many times a password has been exposed in data breaches.

  #### Get Property Information
  Obtain property details by address or company ID.

  #### Get Website Performance
  Analyze a company's website performance and popularity rankings.

  #### Get EU Tenders
  Search the European Tender database.

  #### Get Web Rankings
  Access global rankings like Majestic, CRUX, CloudFlare, and DomCop.

  ## Usage Examples

  ### Basic Company Search
  Search for companies by keyword:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "text": "software development",
      "rows": 10
    }
  }
  ```

  ### Find Companies by Location
  Search for companies in Amsterdam:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "city": "Amsterdam",
      "orgtype": ["Besloten Vennootschap"],
      "employees": "10:100"
    }
  }
  ```

  ### Technology Company Analysis
  Find companies using specific technologies:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "apps": "Salesforce,HubSpot",
      "social_exists": ["linkedin", "twitter"],
      "monthly_visits": "1000:"
    }
  }
  ```

  ### Geographic Radius Search
  Find companies within 25km of coordinates:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "geo": "52.3676,4.9041",
      "distance": 25,
      "revenue": "1000000:"
    }
  }
  ```

  ## Range Format

  Many fields support range queries with the following format:
  - **Range**: `min:max` (e.g., `100:500`)
  - **Minimum only**: `min:` (e.g., `100:`)
  - **Maximum only**: `:max` (e.g., `:500`)

  ## API Documentation

  For detailed API documentation, visit [docs.bedrijfsdata.nl](https://docs.bedrijfsdata.nl/).

  ## Compatibility

  - **n8n version**: 0.187.0 or later
  - **Node.js version**: 20.15 or later

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Bedrijfsdata.nl API Documentation](https://docs.bedrijfsdata.nl/)

  ## Development

  ### Prerequisites

  - Node.js 20.15 or later
  - npm or pnpm

  ### Setup

  ```bash
  # Clone the repository
  git clone https://github.com/ocjanssen/n8n-nodes-bedrijfsdata.git

  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Lint the code
  npm run lint

  # Auto-fix linting issues
  npm run lintfix
  ```

  ### Testing

  To test the node locally:

  1. Build the node: `npm run build`
  2. Link it to your global n8n installation: `npm link`
  3. In your n8n directory: `npm link n8n-nodes-bedrijfsdata`
  4. Start n8n: `n8n start`

  OR

  ```bash
  ./run.sh
  ```

  ## Contributing

  Contributions are welcome! Please feel free to submit a Pull Request.

  ## License

  [MIT](LICENSE.md)

  ## Support

  If you encounter any issues or have questions:

  1. Check the [Bedrijfsdata.nl API documentation](https://docs.bedrijfsdata.nl/)
  2. Review the [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  3. Open an issue in this repository

ai_documentation_summary:
  {"purpose":"Provides search, retrieval and enrichment of Dutch company data from the Bedrijfsdata.nl API inside n8n workflows, plus validation, web content extraction (RAG) and LLM-template execution using company data.","capabilities":["Get Company by Bedrijfsdata.nl ID","Get Companies (advanced search with extensive filters)","Enrich Company Data (add Bedrijfsdata fields to your records)","Execute LLM Template with company data","Web RAG: extract & analyze domain or URL content and fetch search snippets","Get Corporate Family (related companies)","Get Shared Address (companies at same address)","Get Many Employees (employee lists for a company)","Get Many News (news articles for a company)","Get Many Vacancies (job openings for a company)"],"authentication":"API key required (Bedrijfsdata.nl API key via 'Bedrijfsdata API' credentials)","commonUseCases":["Enrich CRM records with Dutch company details (revenue, employees, industry codes, contact data)","Build targeted prospect lists using location, industry, size, technologies or traffic filters","Validate identifiers and contact details (KvK, VAT, IBAN, phone, email) before processing","Perform location-based searches and geocoding for mapping or territory assignment","Monitor company-related news, vacancies or employee lists for change detection"],"limitations":["Search is focused on Dutch companies — Country parameter requires Netherlands","Location fields (city, province) are case-sensitive and must use official names","Several filters require specific formats (e.g., ranges like 5:10 or 500000:, address ID format NL{postcode}-{house number})"],"relatedNodes":[]}


node_type: @serphouse/n8n-nodes-serphouse.serphouse
package_name: @serphouse/n8n-nodes-serphouse
display_name: SERPHouse
description: Scrape Google and other search engines from SERPHouse's official node
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: serphouse
author_github_url: https://github.com/SERPHouse/n8n-node-serphouse.git
npm_package_name: @serphouse/n8n-nodes-serphouse
npm_version: 1.0.3
community_fetched_at: 2026-02-19T14:41:52.476Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "serpLiveSearchPost",
      "options": [
        {
          "name": "Serp Live Search (POST)",
          "value": "serpLiveSearchPost",
          "action": "Serp Live Search (POST)",
          "routing": {
            "request": {
              "url": "/serp/live",
              "method": "POST"
            }
          }
        },
        {
          "name": "Google SERP (Top 100 Results)",
          "value": "googleSerpTopHundred",
          "action": "Google SERP (Top 100 results)",
          "routing": {
            "request": {
              "url": "/serp/google_advanced",
              "method": "POST"
            }
          }
        },
        {
          "name": "Google Jobs API",
          "value": "googleJobs",
          "action": "Google Jobs API",
          "routing": {
            "request": {
              "url": "/google-jobs-api",
              "method": "POST"
            }
          }
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Serp Live Search (POST)",
      "value": "serpLiveSearchPost",
      "action": "Serp Live Search (POST)",
      "routing": {
        "request": {
          "url": "/serp/live",
          "method": "POST"
        }
      }
    },
    {
      "name": "Google SERP (Top 100 Results)",
      "value": "googleSerpTopHundred",
      "action": "Google SERP (Top 100 results)",
      "routing": {
        "request": {
          "url": "/serp/google_advanced",
          "method": "POST"
        }
      }
    },
    {
      "name": "Google Jobs API",
      "value": "googleJobs",
      "action": "Google Jobs API",
      "routing": {
        "request": {
          "url": "/google-jobs-api",
          "method": "POST"
        }
      }
    }
  ]

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

  # n8n-nodes-serphouse

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

  SERPHouse is a powerful SERP API that allows you to scrape Google, Bing, Yahoo, and other search engines with ease. Get real-time search results, job listings, and comprehensive SERP data.

  ## Installation

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

  ## Prerequisites

  You need a SERPHouse account and API key. You can sign up at [serphouse.com](https://serphouse.com/register).

  ## Operations

  The SERPHouse node supports the following operations:

  ### Serp Live Search (POST)

  Perform real-time searches across Google, Bing, and Yahoo search engines.

  **Supported Search Engines:**

  - Google
  - Bing
  - Yahoo

  **Features:**

  - Multiple search types: Web, News, Image, Shop
  - Device-specific results: Desktop, Tablet, Mobile
  - Location targeting
  - Date range filtering
  - Customizable result count and pagination
  - Verbatim search and GFilter options

  ### Google SERP (Top 100 Results)

  Retrieve comprehensive Google search results with up to 100 results per query.

  **Features:**

  - Multi-page scraping (max_pages parameter)
  - Device-specific results: Desktop, Tablet, Mobile
  - Location targeting
  - Date range filtering
  - Verbatim search and GFilter options
  - JSON or HTML response formats

  ### Google Jobs API

  Search and retrieve job listings from Google Jobs.

  **Features:**

  - Location-based job search
  - Date range filtering
  - Multi-language and domain support
  - JSON or HTML response formats

  ## Credentials

  To use this node, you need to configure your SERPHouse API credentials:

  1. Go to **Credentials** → **New**
  2. Select **SERPHouse API**
  3. Enter your API key from your [SERPHouse account](https://www.serphouse.com/home)

  ## Usage

  ### Example 1: Basic Search

  ```
  1. Add SERPHouse node to your workflow
  2. Select "Serp Live Search (POST)" operation
  3. Enter your search query
  4. Choose your search engine from Google, Bing and Yahoo
  5. Select domain and language
  6. Choose your location
  7. Execute the node
  ```

  ### Example 2: Multi-page SERP Results

  ```
  1. Add SERPHouse node to your workflow
  2. Select "Google SERP (Top 100 Results)" operation
  3. Enter your search query
  4. Configure domain, language, and location
  5. In Additional Fields, set "Max Pages" to desired value
  6. Execute the node to get comprehensive results
  ```

  ### Example 3: Google Jobs Search

  ```
  1. Add SERPHouse node to your workflow
  2. Select "Google Jobs API" operation
  3. Enter job search query (e.g., "software engineer")
  4. Select domain and language
  5. Choose location
  6. Optionally add date range filtering
  7. Execute the node
  ```

  ## Resources

  - [SERPHouse API Documentation](https://docs.serphouse.com/)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [SERPHouse Website](https://serphouse.com/)

  ## Version History

  ### 1.0.0

  - Initial release
  - Serp Live Search (POST) operation
  - Google SERP (Top 100 Results) operation
  - Google Jobs API operation

  ## License

  [MIT](https://github.com/SERPHouse/n8n-node-serphouse/blob/master/LICENSE.md)

  ## Support

  For issues or questions:

  - Contact SERPHouse support at [serphouse.com/contact-us](https://www.serphouse.com/contact-us)
  - You contact send your suggestions to [serphouse](accounts@serphouse.com)

ai_documentation_summary:
  {"purpose":"An n8n community node that connects to the SERPHouse SERP API to scrape search engine results (Google, Bing, Yahoo) and retrieve real-time SERP data, multi-page Google results, and Google Jobs listings within n8n workflows.","capabilities":["Serp Live Search (POST) across Google, Bing, and Yahoo","Support for multiple search types: Web, News, Image, Shop","Device-specific results (Desktop, Tablet, Mobile)","Location targeting and domain/language selection","Date range filtering","Customizable result count and pagination","Verbatim search and GFilter options","Google SERP (Top 100 Results) with multi-page scraping (max_pages)","Return responses in JSON or HTML formats (where supported)","Google Jobs API: location-based job search with date range, multi-language and domain support"],"authentication":"API key required (SERPHouse API key)","commonUseCases":["Perform real-time searches across Google, Bing, or Yahoo from an automated workflow","Aggregate multi-page Google SERP results (up to top 100) for SEO monitoring or rank tracking","Extract job listings from Google Jobs for recruiting or job-board aggregation","Run location- and device-specific search queries for localized SERP analysis","Scrape different content types (images, news, shopping) for content monitoring or data enrichment"],"limitations":["Search engines supported are limited to Google, Bing, and Yahoo","Google SERP operation returns up to 100 results per query (uses max_pages to control pagination)","Requires a SERPHouse account and API key (no other auth methods described)"],"relatedNodes":[]}


node_type: n8n-nodes-pdf-api-hub.pdfSplitMerge
package_name: n8n-nodes-pdf-api-hub
display_name: PDF Split and PDF Merge
description: Merge PDFs or split a PDF using PDF API Hub
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: htmlcsstoimage
author_github_url: https://github.com/Pdfapihub/
npm_package_name: n8n-nodes-pdf-api-hub
npm_version: 2.0.1
community_fetched_at: 2026-02-19T14:41:52.477Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "mergePdf",
      "options": [
        {
          "name": "Merge PDF",
          "value": "mergePdf",
          "action": "Merge pdfs",
          "description": "Merge multiple PDFs into a single PDF"
        },
        {
          "name": "Split PDF",
          "value": "splitPdf",
          "action": "Split a pdf",
          "description": "Split a PDF into multiple files"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Merge PDF",
      "value": "mergePdf",
      "action": "Merge pdfs",
      "description": "Merge multiple PDFs into a single PDF"
    },
    {
      "name": "Split PDF",
      "value": "splitPdf",
      "action": "Split a pdf",
      "description": "Split a PDF into multiple files"
    }
  ]

npm_readme:
  [![Banner image](images/bannerpdfapihub.png)](https://pdfapihub.com)

  # n8n-nodes-pdf-api-hub

  An n8n community node for **PDF API Hub** (Get your api key from [https://pdfapihub.com](https://pdfapihub.com)) that can:

  - Parse PDFs and extract text/structured data
  - Merge and split PDFs
  - Compress PDFs
  - Lock and unlock password-protected PDFs
  - Convert a website URL to a PDF (screenshot)
  - Convert HTML/CSS to a PDF

  ## Table of contents

  - [Install](#install)
  - [Get your API key (PDF API Hub)](#get-your-api-key-pdf-api-hub)
  - [Credentials setup (n8n)](#credentials-setup-n8n)
  - [How outputs work (URL vs File vs Base64)](#how-outputs-work-url-vs-file-vs-base64)
  - [Operations](#operations)
    - [PDF Parse / Extract Text](#pdf-parse--extract-text)
    - [PDF Merge](#pdf-merge)
    - [PDF Split](#pdf-split)
    - [PDF Compress](#pdf-compress)
    - [PDF Lock](#pdf-lock)
    - [PDF Unlock](#pdf-unlock)
    - [URL to PDF (Website Screenshot)](#url-to-pdf-website-screenshot)
    - [HTML to PDF](#html-to-pdf)
  - [Support](#support)

  ## Install

  Follow the official n8n community node install docs:
  https://docs.n8n.io/integrations/community-nodes/installation/

  In n8n:

  1. Go to **Settings → Community Nodes**
  2. Click **Install a community node**
  3. Enter: `n8n-nodes-pdf-api-hub`
  4. Click **Install**

  ## Get your API key (PDF API Hub)

  1. Go to https://pdfapihub.com
  2. Sign up / log in
  3. Open your dashboard and find the **API Key / API Keys** section
  4. Create/copy your API key

  If the UI changes, use the official docs as the source of truth:
  https://pdfapihub.com/docs

  ## Credentials setup (n8n)

  1. In n8n, go to **Credentials**
  2. Create a credential: **PDF API Hub API**
  3. Paste your API key
  4. Save

  This node authenticates by sending:

  - Header: `CLIENT-API-KEY: <your-key>`
  - Requests are made against: `https://pdfapihub.com/api/v1`

  ## How outputs work (URL vs File vs Base64)

  Many operations offer an output format/type:

  - **URL**: the API returns a URL in the JSON response
  - **File**: the node downloads the generated PDF/ZIP and returns it as **binary data** in n8n (`binary.data`)
  - **Base64**: the API returns base64 in the JSON response

  Tip: If you choose **File**, you can pass the binary to nodes like **Write Binary File**, **Google Drive**, **S3**, **Email**, etc.

  ## Operations

  API reference docs:
  https://pdfapihub.com/docs

  ### PDF Parse / Extract Text

  - Endpoint: `POST https://pdfapihub.com/api/v1/pdf/parse`
  - Node: **Resource** → PDF Parse / Extract Text
  - Operation: **Extract Text / Parse PDF**

  Parameters:

  - **PDF URL**: Publicly accessible PDF URL
  - **Parse Mode**: `text` (default), `layout`, `tables`, `full`
  - **Pages**: `all` or a range like `1-3`

  Returns: JSON (extracted text/structure)

  ### PDF Merge

  - Endpoint: `POST https://pdfapihub.com/api/v1/pdf/merge`
  - Node: **Resource** → PDF Merge / Split / Compress
  - Operation: **Merge PDF**

  Parameters:

  - **Input Type**: `url` (URLs) or `file` (Binary upload)
  - **URLs**: list of PDF URLs (in order) (when Input Type = URL)
  - **Binary Property Names**: one or more incoming binary properties containing PDFs (when Input Type = File)
  - **Output Format**: `url` / `file` / `base64`

  Returns:

  - `url` / `base64`: JSON
  - `file`: binary PDF

  ### PDF Split

  - Endpoint: `POST https://pdfapihub.com/api/v1/pdf/split`
  - Node: **Resource** → PDF Merge / Split / Compress
  - Operation: **Split PDF**

  Parameters:

  - **PDF URL**: URL of the PDF to split
  - **Split Type**:
    - `pages` (extract specific pages)
    - `each` (split every page)
    - `chunks` (split into N chunks)
  - **Pages**: e.g. `1-3,5` (only for `pages`)
  - **Number of Chunks**: (only for `chunks`)
  - **Output Format**: `url` / `file` / `base64`

  Returns:

  - `url` / `base64`: JSON
  - `file`: binary (often a ZIP or PDF, depending on the API response)

  ### PDF Compress

  - Endpoint: `POST https://pdfapihub.com/api/v1/compressPdf`
  - Node: **Resource** → PDF Merge / Split / Compress
  - Operation: **Compress PDF**

  Parameters:

  - **PDF URL**
  - **Compression Level**: `low` / `medium` / `high` / `max`
  - **Output Type**: `url` / `file` / `base64`
  - **Output Filename**: used when output is file

  Returns:

  - `url` / `base64`: JSON
  - `file`: binary PDF

  ### PDF Lock

  - Endpoint: `POST https://pdfapihub.com/api/v1/lockPdf`
  - Node: **Resource** → PDF Security (Lock / Unlock)
  - Operation: **Lock PDF**

  Parameters:

  - **PDF URL**
  - **Password**: password to set
  - **Input Password**: optional (if the input PDF is already encrypted)
  - **Output Type**: `url` / `file` / `base64`
  - **Output Filename**

  Returns:

  - `url` / `base64`: JSON
  - `file`: binary PDF

  ### PDF Unlock

  - Endpoint: `POST https://pdfapihub.com/api/v1/unlockPdf`
  - Node: **Resource** → PDF Security (Lock / Unlock)
  - Operation: **Unlock PDF**

  Parameters:

  - **PDF URL**
  - **Password**: password to unlock
  - **Output Type**: `url` / `file` / `base64`
  - **Output Filename**

  Returns:

  - `url` / `base64`: JSON
  - `file`: binary PDF

  ### URL to PDF (Website Screenshot)

  - Endpoint: `POST https://pdfapihub.com/api/v1/generatePdf`
  - Node: **Resource** → Website / HTML to PDF
  - Operation: **URL to PDF**

  Parameters:

  - **URL**: website URL to capture
  - **Full Page**: capture full page or viewport
  - **Wait Till**: delay in ms before capture
  - **Viewport Width / Height**
  - **Output Format**: `url` / `file`
  - **Output Filename**
  - **Timeout**: request timeout in seconds

  Returns:

  - `url`: JSON with a PDF URL
  - `file`: binary PDF

  ### HTML to PDF

  - Endpoint: `POST https://pdfapihub.com/api/v1/generatePdf`
  - Node: **Resource** → Website / HTML to PDF
  - Operation: **HTML to PDF**

  Parameters:

  - **HTML Content**
  - **CSS Content**
  - **Dynamic Params**: optional key/value replacements for templating
  - **Viewport Width / Height**
  - **Output Format**: `url` / `file`
  - **Output Filename**
  - **Timeout**: request timeout in seconds

  Returns:

  - `url`: JSON with a PDF URL
  - `file`: binary PDF

  ## Support

  - PDF API Hub documentation: https://pdfapihub.com/docs
  - Website: https://pdfapihub.com
  - Issues/bugs: https://github.com/Pdfapihub/n8n-nodes-pdf-api-hub/issues

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Node to interact with PDF API Hub to parse, merge, split, compress, lock/unlock PDFs and convert webpages or HTML/CSS into PDFs, returning results as URLs, binary files, or base64.","capabilities":["Parse / extract text and structured data from PDFs (modes: text, layout, tables, full)","Merge multiple PDFs (input via public URLs or binary uploads)","Split a PDF (by specific pages, every page, or into N chunks)","Compress PDFs (compression levels: low, medium, high, max)","Lock PDFs with a password (supports input password for already-encrypted files)","Unlock password-protected PDFs","Generate PDF from a website URL (screenshot) with options: full page, wait time, viewport, timeout","Generate PDF from HTML/CSS with optional dynamic templating parameters and viewport settings","Control output format: URL (JSON), File (binary download), or Base64 (JSON)","Accept binary uploads via specified binary property names and return binary.data for file outputs"],"authentication":"API key required (send CLIENT-API-KEY header; configure 'PDF API Hub API' credential in n8n)","commonUseCases":["Merge several PDFs from URLs or incoming binary files into a single PDF","Split large PDFs into pages, ranges, or chunks for processing or storage","Extract text or table data from PDFs for downstream processing or indexing","Compress PDFs to reduce file size before storage or sending","Apply or remove password protection on PDFs"],"limitations":["Requires a PDF API Hub account and API key (external service dependency)","PDF Parse / Extract Text expects a publicly accessible PDF URL (no explicit binary upload option for parse in README)","Some operations may return ZIPs when splitting multiple files (output type depends on API response)","No OAuth2 or alternative auth methods documented — only API key header"],"relatedNodes":["Write Binary File","Google Drive","S3","Email","Other n8n nodes using binary data as input/output (for file handling)"]}


node_type: n8n-nodes-deeptagger.deepTagger
package_name: n8n-nodes-deeptagger
display_name: DeepTagger
description: Extract structured data from documents using DeepTagger
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: deeptagger
author_github_url: https://github.com/deeptaggerhq/
npm_package_name: n8n-nodes-deeptagger
npm_version: 0.1.7
community_fetched_at: 2026-02-19T14:41:52.477Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "extractData",
      "options": [
        {
          "name": "Extract Data",
          "value": "extractData",
          "action": "Extract data from document",
          "description": "Extract structured data from a document"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Extract Data",
      "value": "extractData",
      "action": "Extract data from document",
      "description": "Extract structured data from a document"
    }
  ]

npm_readme:
  <div align="center">
    <img src="https://raw.githubusercontent.com/deeptaggerhq/n8n-nodes-deeptagger/master/nodes/DeepTagger/deeptagger.svg" alt="DeepTagger Logo" width="200"/>
    <h1>DeepTagger</h1>
    <p><strong>n8n-nodes-deeptagger</strong></p>
  </div>

  This is an n8n community node that integrates [DeepTagger](https://deeptagger.com) into your n8n workflows. DeepTagger is an AI-powered document intelligence platform that automatically extracts structured data from documents like invoices, receipts, forms, and contracts.

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

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

  ## What is DeepTagger?

  DeepTagger uses machine learning to extract structured information from documents automatically. Instead of writing complex extraction rules, you simply annotate a few example documents, and DeepTagger learns to extract similar data from new documents. It's perfect for automating data entry from invoices, receipts, forms, contracts, and other business documents.

  ## What does this node do?

  The DeepTagger node allows you to:
  - **Extract structured data** from documents (PDF, images, text) using pre-trained DeepTagger projects
  - **Process both files and text** - upload documents or send text directly
  - **Return structured JSON** - get clean, structured data ready for use in your workflows
  - **Automate document processing** - integrate document intelligence into your automation workflows

  ## Prerequisites

  - An active [DeepTagger account](https://deeptagger.com)
  - A DeepTagger API key (available in your account settings)
  - At least one trained DeepTagger project with a Project ID

  ## Installation

  ### For n8n Cloud users

  n8n Cloud users can install this node directly from the n8n interface once it has been verified by the n8n team.

  ### For self-hosted n8n instances

  Install the node using npm:

  ```bash
  npm install n8n-nodes-deeptagger
  ```

  Then restart your n8n instance. The DeepTagger node should now appear in your node list.

  Alternatively, you can install it directly from the n8n interface by going to **Settings > Community Nodes** and entering `n8n-nodes-deeptagger`.

  ## Credentials

  To use this node, you'll need to configure your DeepTagger API credentials:

  1. In n8n, click on **Credentials** in the left sidebar
  2. Click **New Credential**
  3. Search for and select **DeepTagger API**
  4. Enter your credentials:
     - **API Key**: Your DeepTagger API key (find this in your DeepTagger account settings)
     - **Base URL**: Leave as default (`https://deeptagger.com/api/v1`) unless using a custom deployment
  5. Click **Save**

  ## Operations

  ### Extract Data

  Extracts structured data from a document or text using a trained DeepTagger project.

  **Parameters:**
  - **Project ID** (required): The ID of your DeepTagger project (e.g., `fo_1759714105892`)
    - Find your Project ID by browsing to https://deeptagger.com/das/fos and opening a project - the ID will be in the URL
  - **Input Type**: Choose between `File` (default) or `Text`
    - **File**: Upload a document (PDF, image, etc.) from a binary property
    - **Text**: Send raw text for extraction
  - **Binary Property** (for File input): Name of the binary property containing the file (default: `data`)
  - **Text** (for Text input): The text content to extract data from

  ## Usage

  ### Example 1: Extract Invoice Data from Uploaded Files

  **Workflow:**
  1. **Webhook Trigger** - Receive file upload
  2. **DeepTagger Node** - Extract invoice data
     - Operation: `Extract Data`
     - Project ID: `fo_1759714105892` (your invoice extraction project)
     - Input Type: `File`
     - Binary Property: `data`
  3. **Process Data** - Use extracted fields (invoice number, total, date, etc.) in subsequent nodes

  **Use Case:** Automatically extract invoice details from uploaded PDFs and save them to your accounting system or database.

  ### Example 2: Extract Receipt Data from Email Attachments

  **Workflow:**
  1. **Email Trigger** - Monitor inbox for new emails with attachments
  2. **Filter** - Only process emails with PDF or image attachments
  3. **DeepTagger Node** - Extract receipt data
     - Project ID: Your receipt extraction project ID
     - Input Type: `File`
  4. **Spreadsheet Node** - Add extracted data to Google Sheets or Airtable

  **Use Case:** Process expense receipts sent via email and automatically log them in a spreadsheet.

  ### Example 3: Extract Form Data from Text

  **Workflow:**
  1. **Webhook Trigger** - Receive form submission as text
  2. **DeepTagger Node** - Extract structured fields
     - Operation: `Extract Data`
     - Project ID: Your form extraction project ID
     - Input Type: `Text`
     - Text: `{{$json["formContent"]}}`
  3. **CRM Node** - Create or update contact with extracted data

  **Use Case:** Parse unstructured form submissions and create structured records in your CRM.

  ### Example 4: Batch Process Documents from Cloud Storage

  **Workflow:**
  1. **Schedule Trigger** - Run daily at midnight
  2. **Google Drive Node** - List new PDFs in a specific folder
  3. **Loop Over Items**
  4. **DeepTagger Node** - Extract data from each document
  5. **Database Node** - Insert extracted data
  6. **Google Drive Node** - Move processed files to archive folder

  **Use Case:** Automatically process new documents uploaded to a shared drive overnight.

  ### Example 5: Extract Contract Details for Legal Review

  **Workflow:**
  1. **Dropbox Trigger** - Monitor contracts folder
  2. **DeepTagger Node** - Extract key contract terms
     - Project ID: Your contract extraction project ID
     - Input Type: `File`
  3. **Slack Node** - Send notification with extracted terms to legal team
  4. **Airtable Node** - Create contract record with extracted metadata

  **Use Case:** Automatically extract and catalog key terms from new contracts for review and tracking.

  ## Troubleshooting

  ### Error: "No API key found in request"

  **Solution:** Make sure you've configured your DeepTagger API credentials correctly. The API key must be set in the credentials and properly selected in the node.

  ### Error: "Project not found" or 404

  **Solution:** Verify your Project ID is correct. You can find it in the URL when viewing your project at https://deeptagger.com/das/fos.

  ### Node not appearing in n8n

  **Solution:**
  - Restart your n8n instance after installation
  - Check that the package is installed: `npm list n8n-nodes-deeptagger`
  - For n8n Cloud, wait for the node to be verified by the n8n team

  ### Extraction results are not accurate

  **Solution:**
  - This node uses your trained DeepTagger projects. If results aren't accurate, you may need to:
    - Add more training examples in DeepTagger
    - Review and correct annotations in your project
    - Check that you're using the correct Project ID for the document type

  ### Binary data / file upload issues

  **Solution:**
  - Ensure the previous node outputs binary data in the property you specified (default: `data`)
  - Use the **Move Binary Data** node if needed to reorganize your binary properties
  - Check that the file type is supported by your DeepTagger project

  ## Resources

  - [DeepTagger Documentation](https://deeptagger.com/docs)
  - [DeepTagger Dashboard](https://deeptagger.com/das/fos)
  - [n8n Documentation](https://docs.n8n.io)
  - [n8n Community Forum](https://community.n8n.io)

  ## Support

  For issues related to:
  - **This n8n node**: Open an issue on [GitHub](https://github.com/deeptaggerhq/n8n-nodes-deeptagger/issues)
  - **DeepTagger API or platform**: Contact support@deeptagger.com
  - **n8n platform**: Visit the [n8n community forum](https://community.n8n.io)

  ## License

  [MIT](LICENSE)

  ## Version History

  ### 0.1.0 (2025-01-06)
  - Initial release
  - Extract Data operation with file and text input support

ai_documentation_summary:
  {"purpose":"Integrate DeepTagger document intelligence into n8n workflows to automatically extract structured data from documents (PDFs, images, text) using pre-trained DeepTagger projects.","capabilities":["Extract structured data (JSON) from documents using a specified DeepTagger project","Support File input via binary property (PDF, images, etc.)","Support Text input (raw text extraction)","Return clean, structured JSON fields ready for downstream nodes","Configure Project ID and binary property name","Use custom Base URL (defaults to https://deeptagger.com/api/v1)"],"authentication":"API key required (DeepTagger API key configured in n8n credentials); Base URL configurable","commonUseCases":["Extract invoice fields (invoice number, total, date) from uploaded PDFs and push to accounting systems","Process receipt attachments from email and log expenses to spreadsheets or databases","Parse unstructured form submissions (text) and create/update CRM records","Batch process documents from cloud storage (Google Drive/Dropbox) and insert extracted data into a database","Extract contract terms for legal review and notify teams (e.g., via Slack) or catalog in Airtable"],"limitations":["Requires an active DeepTagger account, API key, and at least one trained DeepTagger project with a Project ID","Node exposes a single primary operation (Extract Data) — does not provide project training/management within n8n","File input must be supplied in a binary property (default name: 'data')","No rate limits, pricing, or offline/self-hosted DeepTagger behavior described in README (use default Base URL unless using custom deployment)"],"relatedNodes":["Webhook Trigger","Email Trigger","Google Drive","Dropbox","Schedule Trigger"]}


node_type: @musixmatch/n8n-nodes-musixmatch.musixmatch
package_name: @musixmatch/n8n-nodes-musixmatch
display_name: Musixmatch
description: Interact with Musixmatch API to access music metadata, lyrics, and more
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: musixmatchdev
author_github_url: https://github.com/musixmatchdev/n8n-nodes-musixmatch.git
npm_package_name: @musixmatch/n8n-nodes-musixmatch
npm_version: 0.2.3
community_fetched_at: 2026-02-19T14:41:52.478Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "catalog",
      "options": [
        {
          "name": "Catalog",
          "value": "catalog"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Chart Tracks Get",
          "value": "chartTracksGet",
          "action": "Get chart tracks",
          "description": "Retrieve track charts"
        },
        {
          "name": "Track Get",
          "value": "trackGet",
          "action": "Get track information",
          "description": "Get track information"
        },
        {
          "name": "Track Lyrics Get",
          "value": "trackLyricsGet",
          "action": "Get track lyrics",
          "description": "Get track lyrics"
        },
        {
          "name": "Track Subtitle Get",
          "value": "trackSubtitleGet",
          "action": "Get track subtitles",
          "description": "Get track subtitles"
        },
        {
          "name": "Matcher Track Get",
          "value": "matcherTrackGet",
          "action": "Match track by metadata",
          "description": "Match track by metadata"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "catalog"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Chart Tracks Get",
      "value": "chartTracksGet",
      "action": "Get chart tracks",
      "description": "Retrieve track charts"
    },
    {
      "name": "Track Get",
      "value": "trackGet",
      "action": "Get track information",
      "description": "Get track information"
    },
    {
      "name": "Track Lyrics Get",
      "value": "trackLyricsGet",
      "action": "Get track lyrics",
      "description": "Get track lyrics"
    },
    {
      "name": "Track Subtitle Get",
      "value": "trackSubtitleGet",
      "action": "Get track subtitles",
      "description": "Get track subtitles"
    },
    {
      "name": "Matcher Track Get",
      "value": "matcherTrackGet",
      "action": "Match track by metadata",
      "description": "Match track by metadata"
    }
  ]

npm_readme:
  # n8n-nodes-musixmatch

  <picture>
    <source media="(prefers-color-scheme: dark)" srcset=".github/musixmatch-logo-dark.png">
    <source media="(prefers-color-scheme: light)" srcset=".github/musixmatch-logo.png">
    <img alt="Musixmatch Logo" src=".github/musixmatch-logo.png" width="300">
  </picture>

  [![npm version](https://img.shields.io/npm/v/@musixmatch/n8n-nodes-musixmatch.svg)](https://www.npmjs.com/package/@musixmatch/n8n-nodes-musixmatch)
  [![npm downloads](https://img.shields.io/npm/dt/@musixmatch/n8n-nodes-musixmatch.svg)](https://www.npmjs.com/package/@musixmatch/n8n-nodes-musixmatch)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![GitHub issues](https://img.shields.io/github/issues/musixmatchdev/n8n-nodes-musixmatch.svg)](https://github.com/musixmatchdev/n8n-nodes-musixmatch/issues)

  This is an n8n community node that lets you use [Musixmatch](https://www.musixmatch.com/) in your n8n workflows.

  Musixmatch is the world's largest lyrics catalog, providing access to millions of songs' lyrics, translations, subtitles, and music metadata. This node enables you to integrate Musixmatch's powerful API into your automation workflows.

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

  ## Table of Contents

  - [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.

  ### Community Node Installation

  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Select **Install**
  3. Enter `n8n-nodes-musixmatch` in **Enter npm package name**
  4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes
  5. Select **Install**

  After installing the node, you can use it like any other node in your workflows.

  ## Operations

  The Musixmatch node currently supports the following operations:

  ### Catalog Resource

  - **Chart Tracks Get**: Retrieve the top charting tracks from a specific country
  - **Track Get**: Get track information by Musixmatch Track ID
  - **Track Lyrics Get**: Retrieve lyrics for a specific track
  - **Track Lyrics Translation Get**: Get translated lyrics for a track in a specified language
  - **Track Subtitle Get**: Retrieve subtitles (time-synced lyrics) for a track
  - **Matcher Track Get**: Search and match a track by artist and track name

  ### Available Operations Details

  #### Chart Tracks Get

  Retrieve trending and top charting tracks from Musixmatch charts. You can filter by country and chart type (e.g., top, hot, mxmweekly).

  #### Track Get

  Fetch detailed information about a specific track using its Musixmatch Track ID, including metadata like artist name, album, release date, and more.

  #### Track Lyrics Get

  Access the lyrics of any track in the Musixmatch catalog by providing the Track ID.

  #### Track Lyrics Translation Get

  Get translated versions of lyrics in multiple languages. Perfect for multilingual applications and global audiences.

  #### Track Subtitle Get

  Retrieve time-synced subtitles (lyrics with timestamps) for karaoke applications, music players, or synchronized displays.

  #### Matcher Track Get

  Search for a track by providing the artist name and track title. This operation returns the best matching track from the Musixmatch database.

  ## Credentials

  To use this node, you need a Musixmatch API key.

  ### Getting Your API Key

  1. Visit [Musixmatch API Pricing](https://about.musixmatch.com/api-pricing?utm_source=github_n8n_node&utm_medium=web&utm_content=pricing_page_link) to view available plans
  2. Subscribe to a plan that fits your needs
  3. Once subscribed, you'll receive your API key
  4. Copy your API key to use with this n8n node

  ### Setting Up Credentials in n8n

  1. In your n8n workflow, add the Musixmatch node
  2. Click on **Credential for Musixmatch API**
  3. Select **Create New Credential**
  4. Enter your **API Key**
  5. Click **Save**

  The node will automatically authenticate all API requests using your credentials.

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Tested with n8n versions**: 1.119.2 and above

  This node is built using the latest n8n community node standards and should be compatible with all recent versions of n8n.

  ## Usage

  ### Example Workflow: Get Trending Tracks with Lyrics

  Here's a simple example that retrieves the top 10 trending tracks from the US charts and fetches their lyrics:

  1. **Add Musixmatch node** configured to use **Chart Tracks Get** operation
     - Set **Country** to `US`
     - Set **Chart Name** to `top`
     - Set **Page Size** to `10`

  2. **Add a second Musixmatch node** configured to use **Track Lyrics Get** operation
     - Use `{{ $json.track_id }}` from the previous node to fetch lyrics for each track

  3. **Process the results** with other n8n nodes as needed (e.g., save to database, send to webhook, etc.)

  ### Example Workflow: Search and Translate Lyrics

  1. **Add Musixmatch node** configured to use **Matcher Track Get** operation
     - Set **Artist Name** to the artist you want to search
     - Set **Track Name** to the song title

  2. **Add a second Musixmatch node** configured to use **Track Lyrics Translation Get** operation
     - Use `{{ $json.track_id }}` from the previous node
     - Set **Language** to your desired language code (e.g., `es` for Spanish, `fr` for French)

  ### Tips

  - The node is compatible with AI Agent workflows (marked as `usableAsTool`)
  - All operations respect n8n's **Continue On Fail** setting for robust error handling
  - Use the **Matcher Track Get** operation when you don't have a Track ID but know the artist and song name
  - Rate limits depend on your Musixmatch API plan - consider implementing appropriate delays for large batch operations

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Musixmatch API Documentation](https://docs.musixmatch.com/lyrics-api/introduction?utm_source=github_n8n_node&utm_medium=web&utm_content=docs_link)
  - [n8n Documentation](https://docs.n8n.io/)

  ## Support

  For issues, questions, or contributions, please visit the [GitHub repository](https://github.com/musixmatchdev/n8n-nodes-musixmatch/issues).

  ---

  _This is a community node and is not officially maintained by n8n. For official support, please contact Musixmatch directly._

ai_documentation_summary:
  {"purpose":"Provide access to Musixmatch API from n8n workflows to retrieve music metadata, lyrics, translations, and time‑synced subtitles, and to search/match tracks.","capabilities":["Chart Tracks Get — retrieve top/trending chart tracks (filter by country, chart type, page size)","Track Get — fetch detailed track metadata by Musixmatch Track ID (artist, album, release date, etc.)","Track Lyrics Get — retrieve lyrics for a specific track by Track ID","Track Lyrics Translation Get — fetch translated lyrics in a specified language","Track Subtitle Get — retrieve time‑synced subtitles (lyrics with timestamps)","Matcher Track Get — search/match a track by artist name and track title"],"authentication":"API key required (Musixmatch API key entered in node credentials)","commonUseCases":["Get top charting tracks for a country and fetch their lyrics (e.g., build playlists with lyrics)","Search/match a track by artist and title when you don't have a Track ID","Fetch translated lyrics for multilingual applications or international audiences","Retrieve time‑synced subtitles for karaoke apps, music players, or synchronized displays","Enrich records in a database or CMS with track metadata and lyrics within automation workflows"],"limitations":["Requires a Musixmatch API subscription/key — features and rate limits depend on your plan","Rate limits apply (plan dependent); for large batches you should implement delays/retries","Authentication is limited to API key (no OAuth2 described)","Feature set limited to the documented operations (charts, track metadata, lyrics, translations, subtitles, matcher)"],"relatedNodes":[]}


node_type: n8n-nodes-chartmogul.chartmogul
package_name: n8n-nodes-chartmogul
display_name: ChartMogul
description: Interact with ChartMogul API
category: Community
development_style: declarative
version: 2.0.2
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: gef-chartmogul
author_github_url: https://github.com/chartmogul/
npm_package_name: n8n-nodes-chartmogul
npm_version: 2.0.2
community_fetched_at: 2026-02-19T14:41:52.479Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-chartmogul

  This is an n8n community node. It lets you interact with the ChartMogul API in your n8n workflows. 

  [ChartMogul](https://www.chartmogul.com/) is a subscription analytics platform that helps SaaS (Software-as-a-Service) and recurring revenue businesses understand, measure, and grow their revenue. ChartMogul CRM is a customer relationship management platform built specifically for B2B SaaS companies that unifies sales pipeline tracking with subscription analytics, enabling teams to manage leads, opportunities, and recurring revenue in a single integrated system.

  [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)
  * [Resources](#resources)
  * [Version history](#version-history)

  ## Installation
  ### Community Nodes (Recommended)
  1. Go to **Settings > Community Nodes**.
  2. Select **Install**.
  3. Enter `n8n-nodes-chartmogul` in **Enter npm package name**.
  4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes: select **I understand the risks of installing unverified code from a public source**.
  5. Select **Install**.

  After installing the node, you can use it like any other node. n8n displays the node in search results in the **Nodes** panel.

  ## Operations
  V1 of the ChartMogul N8N node focuses on functions that help you interface with ChartMogul CRM. These are based on the publicly available endpoints found at [https://dev.chartmogul.com/](https://dev.chartmogul.com/).
  Functions:
  1. Sources
  2. Customers
  3. Contacts
  4. Enrichment (Custom Attributes and Tags)
  5. Notes and Call Logs
  6. Opportunities
  7. Tasks
     
  ## Credentials

  _If users need to authenticate with the app/service, provide details here. You should include prerequisites (such as signing up with the service), available authentication methods, and how to set them up._
  You need to have a ChartMogul account to interact with this node.

  In ChartMogul, create an API key by navigating to **Profile > View Profile > API keys**. Then:
  1. Click **Add API Key**.
  2. Enter a unique name for the key in the **Name** field.
  3. A **Read & Write** key is required for this node.
  4. Click **Add** to create the key.
  5. Copy your newly created key and create a ChartMogul credential in N8N
  <img width="776" height="370" alt="image" src="https://github.com/user-attachments/assets/6443c18e-fe9e-4146-a3e1-b4e62862b774" />

  ## Compatibility

  This node was developed and tested using N8N version 1.116.2.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [ChartMogul Help Center](https://help.chartmogul.com)
  * [ChartMogul Developer Reference](https://dev.chartmogul.com)
    
  ## Versioning

  This node implements n8n's versioning system to support future updates while maintaining backwards compatibility. The current version is v1.

  For detailed information about the versioning structure and how to add new versions, see [VERSIONING.md](VERSIONING.md).

  ## Version history

  **v1.0.4** (Current)
  - Implemented full versioning structure
  - Reorganized codebase with v1 directory for future version support

  **v1.0.0**
  - Initial Release

ai_documentation_summary:
  {"purpose":"Provides nodes to interact with the ChartMogul API (primarily ChartMogul CRM) from n8n workflows to manage customers, contacts, enrichment data, notes, opportunities, tasks and sources.","capabilities":["Manage Sources (create/list/update/delete)","Manage Customers (create/list/update/delete)","Manage Contacts (create/list/update/delete)","Enrichment: manage Custom Attributes and Tags","Create and retrieve Notes and Call Logs","Manage Opportunities (create/list/update/delete)","Manage Tasks (create/list/update/delete)","Uses ChartMogul public API endpoints (v1)"],"authentication":"API key required (ChartMogul Read & Write API key created in ChartMogul profile)","commonUseCases":["Sync ChartMogul customer and contact records with other systems","Add or update custom attributes and tags on customer records for segmentation","Log notes and call logs to customer records from CRM or support workflows","Automate opportunity and task creation/update as part of sales workflows","Manage data sources in ChartMogul from automated pipelines"],"limitations":["Focused on ChartMogul CRM endpoints — analytics endpoints may not be exposed","Community node (unverified) — installing requires accepting community node risks","Requires a ChartMogul account and a Read & Write API key","Implemented as v1 only; tested against n8n version 1.116.2"],"relatedNodes":[]}


node_type: @lusha-org/n8n-nodes-lusha.lusha
package_name: @lusha-org/n8n-nodes-lusha
display_name: Lusha
description: Lusha API integration for contact and company enrichment with prospecting
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: lusha-oss
author_github_url: https://github.com/lusha-oss/n8n-nodes-lusha.git
npm_package_name: @lusha-org/n8n-nodes-lusha
npm_version: 1.0.10
community_fetched_at: 2026-02-19T14:41:52.479Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Company",
          "value": "company"
        }
      ],
      "description": "The resource to operate on",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "enrichSingle",
      "options": [
        {
          "name": "Enrich Single",
          "value": "enrichSingle",
          "action": "Enrich a single contact",
          "description": "Enrich a single contact with additional information"
        },
        {
          "name": "Enrich Bulk",
          "value": "enrichBulk",
          "action": "Enrich contacts in bulk",
          "description": "Enrich multiple contacts with additional information"
        },
        {
          "name": "Search Contacts",
          "value": "searchContacts",
          "action": "Search for contacts",
          "description": "Search and discover new contacts based on criteria"
        },
        {
          "name": "Enrich from Search",
          "value": "enrichFromSearch",
          "action": "Enrich contacts from search results",
          "description": "Enrich contacts found through a previous search"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "enrichSingle",
      "options": [
        {
          "name": "Enrich Single",
          "value": "enrichSingle",
          "action": "Enrich a single company",
          "description": "Enrich a single company with additional information"
        },
        {
          "name": "Enrich Bulk",
          "value": "enrichBulk",
          "action": "Enrich companies in bulk",
          "description": "Enrich multiple companies with additional information"
        },
        {
          "name": "Search Companies",
          "value": "searchCompanies",
          "action": "Search for companies",
          "description": "Search and discover new companies based on criteria"
        },
        {
          "name": "Enrich from Search",
          "value": "enrichFromSearch",
          "action": "Enrich companies from search results",
          "description": "Enrich companies found through a previous search"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Enrich Single",
      "value": "enrichSingle",
      "action": "Enrich a single contact",
      "description": "Enrich a single contact with additional information"
    },
    {
      "name": "Enrich Bulk",
      "value": "enrichBulk",
      "action": "Enrich contacts in bulk",
      "description": "Enrich multiple contacts with additional information"
    },
    {
      "name": "Search Contacts",
      "value": "searchContacts",
      "action": "Search for contacts",
      "description": "Search and discover new contacts based on criteria"
    },
    {
      "name": "Enrich from Search",
      "value": "enrichFromSearch",
      "action": "Enrich contacts from search results",
      "description": "Enrich contacts found through a previous search"
    },
    {
      "name": "Enrich Single",
      "value": "enrichSingle",
      "action": "Enrich a single company",
      "description": "Enrich a single company with additional information"
    },
    {
      "name": "Enrich Bulk",
      "value": "enrichBulk",
      "action": "Enrich companies in bulk",
      "description": "Enrich multiple companies with additional information"
    },
    {
      "name": "Search Companies",
      "value": "searchCompanies",
      "action": "Search for companies",
      "description": "Search and discover new companies based on criteria"
    },
    {
      "name": "Enrich from Search",
      "value": "enrichFromSearch",
      "action": "Enrich companies from search results",
      "description": "Enrich companies found through a previous search"
    }
  ]

npm_readme:
  # n8n-nodes-lusha

  This is an n8n community node that integrates [Lusha](https://www.lusha.com/) with n8n, enabling contact and company data enrichment directly in your workflows.

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

  ## Features

  This node provides comprehensive access to Lusha's API capabilities:

  ### 🧑‍💼 Contact Operations

  - **Single Contact Enrichment** - Find contact details using name & company, email, or LinkedIn URL
  - **Bulk Contact Enrichment** - Enrich up to 100 contacts in a single operation
  - **Contact Prospecting** - Search for contacts with advanced filters
  - **Smart Enrichment** - Enrich all, new, or specific contacts from search results

  ### 🏢 Company Operations

  - **Single Company Enrichment** - Get company details using domain or company name
  - **Bulk Company Enrichment** - Enrich up to 100 companies at once
  - **Company Prospecting** - Search for companies with comprehensive filters
  - **Flexible Selection** - Enrich all or specific companies from search results

  ### 🔍 Advanced Filtering

  - **Contact Filters**: Departments, seniority levels, job titles, locations, existing data points
  - **Company Filters**: Industries, sub-industries, employee count, revenue ranges, technologies, locations, SIC/NAICS codes
  - **Smart Pagination**: Navigate through large result sets efficiently

  ## Installation

  ### Community Node (Recommended)

  In your n8n instance:

  1. Go to **Settings** > **Community Nodes**
  2. Click **Install a community node**
  3. Enter: `n8n-nodes-lusha`
  4. Click **Install**

  ### Manual Installation

  ```bash
  # Navigate to your n8n custom nodes folder
  cd ~/.n8n/custom

  # Clone this repository
  git clone https://github.com/lusha-oss/n8n-nodes-lusha.git

  # Install dependencies
  cd n8n-nodes-lusha
  npm install

  # Build the node
  npm run build

  # Restart n8n
  ```

  ## Credentials

  To use this node, you'll need a Lusha API key:

  1. Sign up for a [Lusha account](https://www.lusha.com/)
  2. Navigate to Settings > API
  3. Generate your API key
  4. In n8n, add new Lusha credentials with your API key

  ## Usage Examples

  ### Example 1: Enrich Single Contact

  Find contact information using a person's name and company:

  - **Resource**: Contact
  - **Operation**: Enrich Single
  - **Search By**: Name and Company
  - **First Name**: John
  - **Last Name**: Doe
  - **Company Name**: Acme Corp

  ### Example 2: Bulk Company Enrichment

  Enrich multiple companies from a spreadsheet:

  - **Resource**: Company
  - **Operation**: Enrich Bulk
  - **Companies JSON**: Connect from previous node or provide JSON array

  ### Example 3: Contact Prospecting

  Search for sales leaders in technology companies:

  - **Resource**: Prospecting
  - **Operation**: Search Contacts
  - **Departments**: Sales
  - **Seniority**: Director, Vice President, C-Suite
  - **Industries**: Technology

  ### Example 4: Enrich Search Results

  After running a prospecting search:

  - **Resource**: Prospecting
  - **Operation**: Enrich Contacts
  - **Selection Type**: All Contacts
  - **Request ID**: (automatically passed from search)

  ## Parameters

  ### Contact Enrichment

  - **Search Methods**: Name & Company, Email, LinkedIn URL
  - **Filter Options**: All data, emails only, phones only

  ### Company Enrichment

  - **Search Methods**: Domain, Company Name
  - **Bulk Format**: JSON array with company identifiers

  ### Prospecting Filters

  #### Contact Filters

  - **Job Titles**: Free text, comma-separated
  - **Departments**: Dropdown selection (Sales, Marketing, IT, etc.)
  - **Seniority**: Levels from Intern to Founder
  - **Locations**: Countries, states, cities
  - **Data Points**: Filter by available contact information

  #### Company Filters

  - **Industries**: Main industry categories
  - **Sub-Industries**: Specific industry segments
  - **Employee Count**: Size ranges from 1-10 to 10,000+
  - **Revenue**: Min/Max revenue selection
  - **Locations**: Company headquarters
  - **Technologies**: Tech stack used
  - **Codes**: SIC and NAICS classifications

  ## Error Handling

  The node includes comprehensive error handling:

  - Invalid API credentials
  - Rate limiting responses
  - Invalid input data
  - Empty results handling
  - Network timeouts

  ## Rate Limits

  Please be aware of Lusha's API rate limits:

  - Check your plan's specific limits
  - The node handles responses appropriately
  - Consider adding delays for large bulk operations

  ## Support

  - **Issues**: [GitHub Issues](https://github.com/yourusername/n8n-nodes-lusha/issues)
  - **n8n Community**: [n8n Community Forum](https://community.n8n.io)
  - **Lusha API Docs**: [Lusha API Documentation](https://docs.lusha.com/apis)

  ## License

  [MIT](LICENSE.md)

  ## Contributing

  Contributions are welcome! Please feel free to submit a Pull Request.

  ## Version History

  ### 1.0.0

  - Initial release
  - Full contact and company enrichment
  - Prospecting search and enrichment
  - Bulk operations support
  - Advanced filtering options

  ## Credits

  Created by [Your Name]
  Based on the Lusha API v2

ai_documentation_summary:
  {"purpose":"Provides an n8n integration with the Lusha API to enrich contact and company records and perform prospecting searches directly inside n8n workflows.","capabilities":["Single Contact Enrichment (search by name & company, email, or LinkedIn URL)","Bulk Contact Enrichment (up to 100 contacts per operation)","Contact Prospecting / Search Contacts with advanced filters","Smart Contact Enrichment (enrich all, new, or specific contacts from prospecting results)","Single Company Enrichment (search by domain or company name)","Bulk Company Enrichment (up to 100 companies per operation)","Company Prospecting / Search Companies with comprehensive filters","Flexible selection of results to enrich (all or specific items from search results)","Advanced filtering for contacts and companies (departments, seniority, titles, industries, employee count, revenue, locations, technologies, SIC/NAICS, etc.)","Smart pagination for navigating large result sets"],"authentication":"API key required (Lusha API key configured in n8n credentials)","commonUseCases":["Enrich a single lead or contact record by name & company, email, or LinkedIn URL before adding to CRM","Bulk-enrich lists of companies or contacts from a spreadsheet/JSON array to append company/contact data","Prospect for target contacts (e.g., sales leaders) using filters like department, seniority, industry, and location","Run a prospecting search then automatically enrich all or selected search results for outreach workflows","Validate and fill missing contact information (emails, phone numbers) for marketing or sales campaigns"],"limitations":["Subject to Lusha API rate limits (limits vary by plan) — large operations may require delays","Bulk enrichment operations limited to up to 100 items per request","Requires an active Lusha account and API key (functionality depends on plan/features available in Lusha)","Authentication is API-key based; no OAuth flow is provided in this node","No built-in incremental sync or webhook-based change tracking (use prospecting searches and enrichment flows instead)"],"relatedNodes":[]}


node_type: n8n-nodes-rye.rye
package_name: n8n-nodes-rye
display_name: Rye
description: Interact with the Rye Universal Checkout API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: rye-api
author_github_url: https://github.com/rye-com/
npm_package_name: n8n-nodes-rye
npm_version: 1.0.3
community_fetched_at: 2026-02-19T14:41:52.480Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "checkoutIntent",
      "options": [
        {
          "name": "Checkout Intent",
          "value": "checkoutIntent"
        },
        {
          "name": "Brand",
          "value": "brand"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a checkout intent",
          "description": "Create a new checkout intent"
        },
        {
          "name": "Get State",
          "value": "getState",
          "action": "Get checkout intent state",
          "description": "Get the state of a checkout intent"
        },
        {
          "name": "Confirm",
          "value": "confirm",
          "action": "Confirm a checkout intent",
          "description": "Confirm a checkout intent with payment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "checkoutIntent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "verifyBrandSupport",
      "options": [
        {
          "name": "Verify Support",
          "value": "verifyBrandSupport",
          "action": "Verify brand support",
          "description": "Check if a brand/domain is supported"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "brand"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a checkout intent",
      "description": "Create a new checkout intent"
    },
    {
      "name": "Get State",
      "value": "getState",
      "action": "Get checkout intent state",
      "description": "Get the state of a checkout intent"
    },
    {
      "name": "Confirm",
      "value": "confirm",
      "action": "Confirm a checkout intent",
      "description": "Confirm a checkout intent with payment"
    },
    {
      "name": "Verify Support",
      "value": "verifyBrandSupport",
      "action": "Verify brand support",
      "description": "Check if a brand/domain is supported"
    }
  ]

npm_readme:
  # n8n-nodes-rye

  This is an n8n community node that lets you use the Rye Universal Checkout API in your n8n workflows.

  The Rye Universal Checkout API turns any product URL into a completed checkout. Instantly retrieve price, tax, and shipping for any product, and let users buy without ever leaving your native AI experience.

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

  **Table of Contents**

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Example Workflows](#example-workflows)
  - [Resources](#resources)
  - [Support](#support)

  ## Installation

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

  ## Operations

  This node provides the following operations:

  ### Checkout Intent

  - **Create**: Submit a new checkout with a product URL and buyer information
  - **Get State**: Check the state of a checkout intent (with optional automatic polling)
  - **Confirm**: Confirm a checkout intent with a payment method

  ### Brand

  - **Verify Support**: Check if a merchant domain is supported by the Rye API

  ## Credentials

  To use this node, you need a Rye API account and access token.

  ### Prerequisites

  1. Sign up for a Rye API staging account from the [developer console](https://staging.console.rye.com/register)
  2. Generate an API access token from your [Rye account](https://staging.console.rye.com/account)

  For more information, refer to the official [Rye Account Registration](https://docs.rye.com/api-v2/account-registration) documentation.

  ### Setting up credentials in n8n

  1. In n8n, go to **Credentials** → **New**
  2. Search for "Rye API"
  3. Enter your **API URL**:
     - Staging: `https://staging.api.rye.com/api/v1`
     - Production: `https://api.rye.com/api/v1`
  4. Enter your **Access Token** (without the HTTP authentication scheme prefix, e.g., "Basic")
  5. Click **Save**

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Tested against**: n8n 1.115.3

  ## Usage

  ### Basic Checkout Flow

  The typical checkout flow involves these steps:

  1. **Create a Checkout Intent** with a product URL and buyer details
  2. **Poll for State** until the checkout reaches `awaiting_confirmation` state
  3. **Confirm the Checkout** with a payment token
  4. **Poll for State** again until the checkout reaches `completed` state

  ### Using the Get State Operation with Polling

  The "Get State" operation includes automatic polling functionality to wait for the checkout to reach a terminal state.

  #### Polling Parameters

  - **Enable Polling**: When enabled, the node automatically retries checking the state
  - **Max Attempts**: Maximum number of times to check (default: 20). Note: Some merchants may take up to 45 minutes to process.
  - **Initial Interval (Seconds)**: Starting wait time (default: 5 seconds)
  - **Max Interval (Seconds)**: Maximum wait time between attempts (default: 60 seconds)

  #### Checkout States

  **Terminal States** (polling stops automatically):

  - `awaiting_confirmation` - Checkout is ready and awaiting payment confirmation
  - `completed` - Checkout successfully completed
  - `failed` - Checkout failed

  **Processing States** (polling continues):

  - `retrieving_offer` - Initial state after creating a checkout intent; Rye is retrieving the offer from the merchant

  > **💡 Tip**: If polling times out in the `retrieving_offer` state, increase the **Max Attempts** value or handle this state explicitly in your workflow.

  #### Polling Behavior

  The "Get State" node uses exponential backoff to space out polling attempts, giving you flexibility to manage the [Rye API rate limits](https://docs.rye.com/api-v2/developer-notes#ordering-%26-checkout) more effectively.

  Wait time starts at `initialIntervalSeconds` and doubles with each attempt up to `maxIntervalSeconds`

  Example timing: 5s → 10s → 20s → 40s → 60s → 60s...

  Note: using the default parameter values (`maxAttempts = 20`, `initialIntervalSeconds = 5`, `maxIntervalSeconds = 60`), the node will poll for up to ~17 minutes

  #### Best Practice

  After polling completes, use a **Switch** or **IF** node to route your workflow based on the final state.

  ### Address Validation

  > **⚠️ Important**: The Rye API currently only supports US addresses. The node will validate this and throw an error if a non-US country code is provided.

  ## Example Workflows

  ### Complete Checkout with State Routing

  ```
  Manual Trigger
    ↓
  Verify Brand Support (Rye)
    ↓
  Create Checkout Intent (Rye)
    ↓
  Get State with Polling (Rye)
    ↓
  Switch (based on state)
    ├─ awaiting_confirmation → Confirm Checkout (Rye)
    │                            ↓
    │                         Get State with Polling (Rye)
    │                            ↓
    │                         Switch (based on final state)
    │                            ├─ completed → Success notification
    │                            └─ failed → Error notification
    │
    └─ failed → Error notification
  ```

  ### Step-by-Step Configuration

  #### 1. Verify Brand Support

  - **Resource**: Brand
  - **Operation**: Verify Support
  - **Domain**: `amazon.com` (or your target merchant domain)

  #### 2. Create Checkout Intent

  - **Resource**: Checkout Intent
  - **Operation**: Create
  - **Product URL**: Full URL of the product to purchase
  - **Buyer Email**: Customer's email address
  - **Shipping Address**: Complete US address details

  #### 3. Get State (with Polling) - First Check

  - **Resource**: Checkout Intent
  - **Operation**: Get State
  - **Checkout Intent ID**: `{{ $json.id }}` (from Create step)
  - **Enable Polling**: `true`
  - **Max Attempts**: `20`
  - **Initial Interval (Seconds)**: `5`
  - **Max Interval (Seconds)**: `60`

  #### 4. Switch Node - Route Based on Initial State

  Configure switch rules:

  - **Rule 1**: `{{ $json.state === "awaiting_confirmation" }}` → Continue to Confirm
  - **Rule 2**: `{{ $json.state === "failed" }}` → Error handling

  #### 5. Confirm Checkout (if awaiting_confirmation)

  - **Resource**: Checkout Intent
  - **Operation**: Confirm
  - **Checkout Intent ID**: `{{ $('Get State').item.json.id }}`
  - **Payment Token**: Payment method token from your payment processor (e.g., Stripe)

  #### 6. Get State (with Polling) - Final Check

  - **Resource**: Checkout Intent
  - **Operation**: Get State
  - **Checkout Intent ID**: `{{ $('Confirm Checkout').item.json.id }}`
  - **Enable Polling**: `true`
  - **Max Attempts**: `20`
  - **Initial Interval (Seconds)**: `5`
  - **Max Interval (Seconds)**: `60`

  #### 7. Switch Node - Route Based on Final State

  Configure switch rules:

  - **Rule 1**: `{{ $json.state === "completed" }}` → Success handling
  - **Rule 2**: `{{ $json.state === "failed" }}` → Error handling

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Rye API Documentation](https://docs.rye.com)
  - [Rye Universal Checkout Guide](https://docs.rye.com/api-v2/introduction)

  ## Support

  For issues or questions:

  - **Node Issues**: [GitHub Issues](https://github.com/rye-com/n8n-nodes-rye/issues)
  - **n8n Community**: [n8n Forum](https://community.n8n.io/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provide n8n workflow actions for the Rye Universal Checkout API so you can convert product URLs into completed checkouts, retrieve price/tax/shipping, and manage checkout state without leaving your native AI experience.","capabilities":["Create Checkout Intent: submit a new checkout with a product URL and buyer/shipping details","Get State: retrieve the current state of a checkout intent with optional automatic polling","Confirm Checkout: confirm a checkout intent with a payment method/token","Brand Verify Support: check whether a merchant domain is supported by Rye","Polling controls: configurable enable/disable polling, max attempts, initial interval, max interval with exponential backoff","Address validation: validates shipping addresses and rejects non-US country codes"],"authentication":"API access token required (configure Rye API credentials in n8n with API URL + Access Token; token provided directly, not via OAuth2)","commonUseCases":["Turn a product URL into a quoted checkout and present price/tax/shipping in an AI interface","Automate full checkout flows: create intent → poll until awaiting_confirmation → confirm with payment token → poll until completed","Verify merchant/brand support before attempting checkout for a given domain","Handle long-running merchant processing by polling state with exponential backoff and routing workflows based on final state"],"limitations":["Only US shipping addresses are supported; node will error on non-US country codes","Some merchants can take up to ~45 minutes to process offers — default polling (maxAttempts=20, initial=5s, max=60s) polls for ~17 minutes and may time out","Requires a Rye API account and access token (staging and production API URLs must be configured)","Rate-limit considerations: polling uses exponential backoff to help, but callers should be mindful of Rye API rate limits"],"relatedNodes":["Switch","IF","Manual Trigger"]}


node_type: @socradar/n8n-nodes-socradar.socradar
package_name: @socradar/n8n-nodes-socradar
display_name: SOCRadar
description: Comprehensive SOCRadar API integration
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: ahmetkurukose
author_github_url: https://github.com/socradar-io/n8n-nodes-socradar.git
npm_package_name: @socradar/n8n-nodes-socradar
npm_version: 1.8.7
community_fetched_at: 2026-02-19T14:41:52.481Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "incident",
      "options": [
        {
          "name": "Incident",
          "value": "incident"
        },
        {
          "name": "Takedown",
          "value": "takedown"
        },
        {
          "name": "User Audit Logs",
          "value": "auditLogs"
        },
        {
          "name": "Digital Footprint",
          "value": "digitalFootprint"
        },
        {
          "name": "Dark Web Monitoring",
          "value": "darkWebMonitoring"
        },
        {
          "name": "DRP Fraud Protection",
          "value": "fraudProtection"
        },
        {
          "name": "Brand Protection",
          "value": "brandProtection"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all user audit logs",
          "description": "Get all user audit logs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auditLogs"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBrandProtection",
      "options": [
        {
          "name": "Get Brand Protection",
          "value": "getBrandProtection",
          "action": "Get brand protection data by type",
          "description": "Get brand protection data by type"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "brandProtection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBotnetData",
      "options": [
        {
          "name": "Get Botnet Data",
          "value": "getBotnetData",
          "action": "Get botnet data",
          "description": "Get botnet data"
        },
        {
          "name": "Get Blackmarket Data",
          "value": "getBlackmarket",
          "action": "Get blackmarket data",
          "description": "Get blackmarket data"
        },
        {
          "name": "Get Suspicious Content",
          "value": "getSuspiciousContent",
          "action": "Get suspicious content",
          "description": "Get suspicious content"
        },
        {
          "name": "Get PII Exposure",
          "value": "getPiiExposure",
          "action": "Get PII exposure data",
          "description": "Get PII exposure data"
        },
        {
          "name": "Get IM Content",
          "value": "getImContent",
          "action": "Get IM content",
          "description": "Get IM content"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "darkWebMonitoring"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDigitalAssets",
      "options": [
        {
          "name": "Get Digital Assets",
          "value": "getDigitalAssets",
          "action": "Get all digital assets",
          "description": "Get all digital assets"
        },
        {
          "name": "Add Asset",
          "value": "addAsset",
          "action": "Add a new digital asset",
          "description": "Add a new digital asset"
        },
        {
          "name": "Mark False Positive",
          "value": "markFalsePositive",
          "action": "Mark an asset as false positive",
          "description": "Mark an asset as false positive"
        },
        {
          "name": "Toggle Monitoring",
          "value": "toggleMonitoring",
          "action": "Toggle monitoring for an asset",
          "description": "Toggle monitoring for an asset"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "digitalFootprint"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFraudProtection",
      "options": [
        {
          "name": "Get Fraud Protection",
          "value": "getFraudProtection",
          "action": "Get fraud protection data",
          "description": "Get fraud protection data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "fraudProtection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all incidents",
          "description": "Get all incidents"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a single incident",
          "description": "Get a single incident"
        },
        {
          "name": "Add Comment",
          "value": "addComment",
          "action": "Add a comment to an incident",
          "description": "Add a comment to an incident"
        },
        {
          "name": "Add Tag",
          "value": "addTag",
          "action": "Add a tag to an incident",
          "description": "Add a tag to an incident"
        },
        {
          "name": "Remove Tag",
          "value": "removeTag",
          "action": "Remove a tag from an incident",
          "description": "Remove a tag from an incident"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "incident"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createDomain",
      "options": [
        {
          "name": "Create Domain Takedown",
          "value": "createDomain",
          "action": "Create a domain takedown request",
          "description": "Create a domain takedown request"
        },
        {
          "name": "Create Social Media Takedown",
          "value": "createSocialMedia",
          "action": "Create a social media takedown request",
          "description": "Create a social media takedown request"
        },
        {
          "name": "Create Source Code Leak Takedown",
          "value": "createSourceCode",
          "action": "Create a source code leak takedown request",
          "description": "Create a source code leak takedown request"
        },
        {
          "name": "Get Progress",
          "value": "getProgress",
          "action": "Get takedown request progress",
          "description": "Get takedown request progress"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "takedown"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all user audit logs",
      "description": "Get all user audit logs"
    },
    {
      "name": "Get Brand Protection",
      "value": "getBrandProtection",
      "action": "Get brand protection data by type",
      "description": "Get brand protection data by type"
    },
    {
      "name": "Get Botnet Data",
      "value": "getBotnetData",
      "action": "Get botnet data",
      "description": "Get botnet data"
    },
    {
      "name": "Get Blackmarket Data",
      "value": "getBlackmarket",
      "action": "Get blackmarket data",
      "description": "Get blackmarket data"
    },
    {
      "name": "Get Suspicious Content",
      "value": "getSuspiciousContent",
      "action": "Get suspicious content",
      "description": "Get suspicious content"
    },
    {
      "name": "Get PII Exposure",
      "value": "getPiiExposure",
      "action": "Get PII exposure data",
      "description": "Get PII exposure data"
    },
    {
      "name": "Get IM Content",
      "value": "getImContent",
      "action": "Get IM content",
      "description": "Get IM content"
    },
    {
      "name": "Get Digital Assets",
      "value": "getDigitalAssets",
      "action": "Get all digital assets",
      "description": "Get all digital assets"
    },
    {
      "name": "Add Asset",
      "value": "addAsset",
      "action": "Add a new digital asset",
      "description": "Add a new digital asset"
    },
    {
      "name": "Mark False Positive",
      "value": "markFalsePositive",
      "action": "Mark an asset as false positive",
      "description": "Mark an asset as false positive"
    },
    {
      "name": "Toggle Monitoring",
      "value": "toggleMonitoring",
      "action": "Toggle monitoring for an asset",
      "description": "Toggle monitoring for an asset"
    },
    {
      "name": "Get Fraud Protection",
      "value": "getFraudProtection",
      "action": "Get fraud protection data",
      "description": "Get fraud protection data"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all incidents",
      "description": "Get all incidents"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a single incident",
      "description": "Get a single incident"
    },
    {
      "name": "Add Comment",
      "value": "addComment",
      "action": "Add a comment to an incident",
      "description": "Add a comment to an incident"
    },
    {
      "name": "Add Tag",
      "value": "addTag",
      "action": "Add a tag to an incident",
      "description": "Add a tag to an incident"
    },
    {
      "name": "Remove Tag",
      "value": "removeTag",
      "action": "Remove a tag from an incident",
      "description": "Remove a tag from an incident"
    },
    {
      "name": "Create Domain Takedown",
      "value": "createDomain",
      "action": "Create a domain takedown request",
      "description": "Create a domain takedown request"
    },
    {
      "name": "Create Social Media Takedown",
      "value": "createSocialMedia",
      "action": "Create a social media takedown request",
      "description": "Create a social media takedown request"
    },
    {
      "name": "Create Source Code Leak Takedown",
      "value": "createSourceCode",
      "action": "Create a source code leak takedown request",
      "description": "Create a source code leak takedown request"
    },
    {
      "name": "Get Progress",
      "value": "getProgress",
      "action": "Get takedown request progress",
      "description": "Get takedown request progress"
    }
  ]

npm_readme:
  # n8n-nodes-socradar

  This is an n8n community node for integrating with the SOCRadar API. It provides a comprehensive node to interact with SOCRadar's services.

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

  [SOCRadar](https://socradar.io/) is a Digital Risk Protection Platform that provides threat intelligence, brand protection, attack surface management, and other cybersecurity services.

  ## SOCRadar n8n Integration

  This is a community node for n8n that integrates with SOCRadar's API. It provides access to SOCRadar's services

  ## Features

  ### Incident Management
  - **Comprehensive API Support**: Single consolidated node supporting all incident operations
  - **Advanced Filtering Options**:
    - Filter by status, severity, resolution state
    - Date range filtering
    - Sorting capabilities
    - Tag-based filtering
  - **Operations**:
    - Get All Incidents
    - Get Single Incident
    - Add Comment
    - Add Tag
    - Remove Tag

  ### Takedown Services
  - Create and manage takedown requests
  - Filter and retrieve takedown status
  - **Operations**:
    - Create Takedown Request
    - Get Single Takedown
    - Get All Takedowns
    - Update Takedown Status
    - Add Tags

  ### Digital Footprint
  - Discover and manage digital assets across your organization
  - Monitor cloud resources, domains, and other digital assets
  - **Advanced Filtering Options**:
    - Filter by asset type (Domain, IP, URL, Cloud Bucket)
    - Pagination support
    - Sorting capabilities
    - Status filtering
  - **Operations**:
    - Get Digital Assets
    - Get Cloud Buckets
    - Add Asset (Domain, Cloud Bucket)
    - Mark False Positive
    - Toggle Monitoring

  ### Brand Protection
  - Monitor and protect your brand across digital channels
  - **Advanced Detection**:
    - Impersonating Accounts
    - Impersonating Domains
    - Rogue Mobile Applications
    - Bad Reputation
    - Social Media Findings
  - **Operations**:
    - Get Brand Protection Data
    - Filter by Finding Type
    - Sort by Risk Score

  ### Fraud Protection
  - Detect and prevent digital fraud attempts
  - **Comprehensive Coverage**:
    - Phishing Detection
    - Scam Detection
    - Brand Abuse
    - Payment Fraud
  - **Operations**:
    - Get Fraud Protection Data
    - Filter by Risk Level
    - Sort by Detection Time

  ### Dark Web Monitoring
  - Monitor dark web for sensitive information
  - **Data Sources**:
    - Botnet Data
    - Blackmarket Data
    - Suspicious Content
    - PII Exposure
    - IM Content
  - **Operations**:
    - Get Dark Web Findings
    - Filter by Source Type
    - Sort by Relevance

  ### User Audit Logs
  - Retrieve user activity logs for compliance and security monitoring
  - **Advanced Filtering Options**:
    - Date range filtering
    - Limit number of records
    - Activity type filtering
  - **Operations**:
    - Get All User Audit Logs
    - Filter by Date Range
    - Filter by Activity Type

  ## Prerequisites

  - n8n v1.0.0 or later
  - SOCRadar API credentials

  ## Installation

  Follow these steps to install this custom node:

  ```bash
  # Install with npm
  npm install @socradar/n8n-nodes-socradar

  # Install with pnpm
  pnpm add @socradar/n8n-nodes-socradar

  # Alternatively, for n8n installed globally
  npm install -g @socradar/n8n-nodes-socradar
  ```

  For Docker-based n8n installations, you can use the [n8n-docker-custom](https://github.com/n8n-io/n8n-docker-custom) approach.

  ## Usage

  ### Authentication
  The SOCRadar node requires SOCRadar API credentials:
  1. API Key: Your SOCRadar API key
  2. Company ID: Your SOCRadar company identifier

  ### SOCRadar Node
  The consolidated SOCRadar node provides access to all SOCRadar Extended Threat Intelligence platform features:

  - **Resource**: Choose from:
    - Incident Management
    - Takedown Management
    - Digital Footprint
    - Brand Protection
    - Fraud Protection
    - Dark Web Monitoring
    - User Audit Logs
  - **Operation**: Select the specific operation to perform
  - **Parameters**: Configure operation-specific parameters

  ## Version History

  - **1.8.7**: Fix public github url
  - **1.8.6**: Added repository link and improved package structure for n8n compatibility
  - **1.8.5**: Removed external dependencies (axios, dotenv) in favor of n8n's built-in functionality
  - **1.8.4**: Fixed credential icon display issue
  - **1.8.2**: Fixed README.md with correct package name and latest features
  - **1.8.1**: Optimized build process and improved CI/CD pipeline
  - **1.8.0**: Enhanced Digital Footprint API integration with improved asset type handling
  - **1.7.0**: Added Brand Protection API V2 support with comprehensive filtering
  - **1.6.0**: Added Fraud Protection API V2 support
  - **1.5.0**: Added Dark Web Monitoring API V2 support
  - **1.4.0**: Added Digital Footprint API support
  - **1.3.0**: Added User Audit Logs API support
  - **1.2.0**: Consolidated all functionality into a single SOCRadar node
  - **1.1.0**: Added Takedown API support
  - **1.0.0**: Initial release with Incident API support

  ## Credentials

  You need to create a credentials entry with your SOCRadar API key:

  1. Go to **Credentials** in n8n
  2. Select **Create New**
  3. Search for "SOCRadar API"
  4. Enter your API key from the SOCRadar platform
  5. Save the credentials

  ## Support

  For issues, feature requests, or questions about this node package:
  - Contact SOCRadar support at support@socradar.io

  ## License

  This node package is released under the [MIT License](LICENSE.md).

ai_documentation_summary:
  {"purpose":"Provides a consolidated n8n community node to interact with the SOCRadar Extended Threat Intelligence API, enabling automation of incident management, takedown requests, digital footprint discovery, brand and fraud protection, dark web monitoring, and retrieval of user audit logs within n8n workflows.","capabilities":["Get All Incidents","Get Single Incident","Add Comment to Incident","Add Tag to Incident","Remove Tag from Incident","Create Takedown Request","Get Single Takedown","Get All Takedowns","Update Takedown Status","Add Tags to Takedown"],"authentication":"API key required (SOCRadar API key) plus Company ID; credentials are stored in n8n (create SOCRadar API credentials entry).","commonUseCases":["Automate incident triage and enrichment (list incidents, get details, add comments/tags)","Create and manage takedown requests and track their status","Discover, inventory and monitor digital assets (domains, IPs, cloud buckets) and toggle monitoring or mark false positives","Monitor brand abuse and impersonation across channels and surface high-risk findings","Detect and alert on fraud/phishing activity and sort/filter by risk"],"limitations":["Requires n8n v1.0.0 or later (prerequisite)","Requires a SOCRadar account and valid API credentials (API key and Company ID) to use the node"],"relatedNodes":[]}


node_type: @zerobounce/n8n-nodes-zerobounce.zeroBounce
package_name: @zerobounce/n8n-nodes-zerobounce
display_name: ZeroBounce
description: Validate and verify emails using the ZeroBounce API.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: pja-zerobounce
author_github_url: https://github.com/zerobounce/n8n-nodes-zerobounce.git
npm_package_name: @zerobounce/n8n-nodes-zerobounce
npm_version: 1.1.2
community_fetched_at: 2026-02-19T14:41:52.481Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "validation",
      "options": [
        {
          "name": "Account",
          "value": "account",
          "description": "Retrieve details from your ZeroBounce account"
        },
        {
          "name": "Validation",
          "value": "validation",
          "description": "Email validation"
        },
        {
          "name": "A.I. Scoring",
          "value": "scoring",
          "description": "Email scoring"
        },
        {
          "name": "Email Finder",
          "value": "emailFinder",
          "description": "Email Finder allows you to search for new business email addresses using our proprietary technologies"
        },
        {
          "name": "Domain Search",
          "value": "domainSearch",
          "description": "Domain Search allows you to search for new business email formats using our proprietary technologies"
        },
        {
          "name": "Activity Data",
          "value": "activityData",
          "description": "Activity Data allows you to gather insights into your subscribers’ overall email engagement"
        }
      ],
      "required": true,
      "description": "Choose the ZeroBounce API you wish to use",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCredits",
      "options": [
        {
          "name": "Credits Balance",
          "value": "getCredits",
          "action": "Get credits balance",
          "description": "Tells you how many credits you have left on your account"
        },
        {
          "name": "API Usage",
          "value": "getApiUsage",
          "action": "Get API usage",
          "description": "Retrieves a summary of your API usage"
        },
        {
          "name": "List Filters",
          "value": "listFilters",
          "action": "List filters",
          "description": "Lists all the existing filter rules"
        },
        {
          "name": "Add Filter",
          "value": "addFilter",
          "action": "Add a filter",
          "description": "Adds or updates a filter rule"
        },
        {
          "name": "Delete Filter",
          "value": "deleteFilter",
          "action": "Delete a filter",
          "description": "Deletes a filter rule"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "validate",
      "options": [
        {
          "name": "Validate Email",
          "value": "validate",
          "action": "Validate an email",
          "description": "Validate a single email address (real-time)"
        },
        {
          "name": "Validate Batch",
          "value": "batchValidate",
          "action": "Validate an email batch",
          "description": "Validates batches of up to 200 email addresses at a time. It is rate limited to 5 uses per minute, if you exceed the rate limit, you will be blocked for 10 minutes. If you're looking to do single email validations, please use our single email validator endpoint."
        },
        {
          "name": "Bulk Validate Send File",
          "value": "sendFile",
          "action": "Send validation file",
          "description": "Send a file to ZeroBounce for bulk validation"
        },
        {
          "name": "Bulk Validate Get File",
          "value": "getFile",
          "action": "Get validation results file",
          "description": "Get the results file for a submitted validation file"
        },
        {
          "name": "Bulk Validate File Status",
          "value": "fileStatus",
          "action": "Get validation file status",
          "description": "Get the status of a file submitted for validation"
        },
        {
          "name": "Bulk Validate Delete File",
          "value": "deleteFile",
          "action": "Delete validation file",
          "description": "Delete a previously submitted validation file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "validation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "score",
      "options": [
        {
          "name": "Score Email",
          "value": "score",
          "action": "Score an email",
          "description": "Score a single email address (real-time)"
        },
        {
          "name": "Bulk Scoring Send File",
          "value": "scoringSendFile",
          "action": "Send scoring file",
          "description": "Send a file to ZeroBounce for bulk scoring"
        },
        {
          "name": "Bulk Scoring Get File",
          "value": "scoringGetFile",
          "action": "Get scoring results file",
          "description": "Get the results file for a submitted scoring file"
        },
        {
          "name": "Bulk Scoring File Status",
          "value": "scoringFileStatus",
          "action": "Get scoring file status",
          "description": "Get the status of a file submitted for scoring"
        },
        {
          "name": "Bulk Scoring Delete File",
          "value": "scoringDeleteFile",
          "action": "Delete scoring file",
          "description": "Delete a previously submitted scoring file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scoring"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "find",
      "options": [
        {
          "name": "Find Email Address",
          "value": "find",
          "action": "Find email address",
          "description": "Uses a person’s first and last name and a domain or company name to test a variety of patterns and combinations in real time until it identifies a valid business email. It does not use or process customer data at any point to aid in this search. Privacy and Security Note – Email Finder API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
        },
        {
          "name": "Bulk Email Finder Send File",
          "value": "emailFinderSendFile",
          "action": "Send email finder file",
          "description": "Send a file to ZeroBounce for bulk email finding"
        },
        {
          "name": "Bulk Email Finder Get File",
          "value": "emailFinderGetFile",
          "action": "Get email finder results file",
          "description": "Get the results file for a submitted email finder file"
        },
        {
          "name": "Bulk Email Finder File Status",
          "value": "emailFinderFileStatus",
          "action": "Get email finder file status",
          "description": "Get the status of a submitted email finder file"
        },
        {
          "name": "Bulk Email Finder Delete File",
          "value": "emailFinderDeleteFile",
          "action": "Delete email finder file",
          "description": "Delete a previously submitted email finder file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "emailFinder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search Domain",
          "value": "search",
          "action": "Search domain",
          "description": "Domain search is functionally similar to email address inquiry but instead attempts to detect possible patterns a specific company uses. You can use detected patterns to help you approximate the correct email for a specific person you’re attempting to contact at a business. Privacy and security note – Domain Search API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
        },
        {
          "name": "Bulk Domain Search Send File",
          "value": "domainSearchSendFile",
          "action": "Send domain search file",
          "description": "Send a file to ZeroBounce for bulk domain searching"
        },
        {
          "name": "Bulk Domain Search Get File",
          "value": "domainSearchGetFile",
          "action": "Get domain search results file",
          "description": "Get the results file for a submitted domain search file"
        },
        {
          "name": "Bulk Domain Search File Status",
          "value": "domainSearchFileStatus",
          "action": "Get domain search file status",
          "description": "Get the status of a submitted domain search file"
        },
        {
          "name": "Bulk Domain Search Delete File",
          "value": "domainSearchDeleteFile",
          "action": "Delete domain search file",
          "description": "Delete a previously submitted domain search file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domainSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getActivityData",
      "options": [
        {
          "name": "Activity Data",
          "value": "getActivityData",
          "action": "Get activity data",
          "description": "Our Activity Data feature allows you to gather insights into your subscribers’ overall email engagement. The tool returns if the email inbox has been active in the past 30, 60, 90, 180, 365, or 365+ days. This indicates a potentially outdated contact, not recommended for cold emailing. Thus, you can improve your targeting and personalization and run more successful email campaigns."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "activityData"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Credits Balance",
      "value": "getCredits",
      "action": "Get credits balance",
      "description": "Tells you how many credits you have left on your account"
    },
    {
      "name": "API Usage",
      "value": "getApiUsage",
      "action": "Get API usage",
      "description": "Retrieves a summary of your API usage"
    },
    {
      "name": "List Filters",
      "value": "listFilters",
      "action": "List filters",
      "description": "Lists all the existing filter rules"
    },
    {
      "name": "Add Filter",
      "value": "addFilter",
      "action": "Add a filter",
      "description": "Adds or updates a filter rule"
    },
    {
      "name": "Delete Filter",
      "value": "deleteFilter",
      "action": "Delete a filter",
      "description": "Deletes a filter rule"
    },
    {
      "name": "Validate Email",
      "value": "validate",
      "action": "Validate an email",
      "description": "Validate a single email address (real-time)"
    },
    {
      "name": "Validate Batch",
      "value": "batchValidate",
      "action": "Validate an email batch",
      "description": "Validates batches of up to 200 email addresses at a time. It is rate limited to 5 uses per minute, if you exceed the rate limit, you will be blocked for 10 minutes. If you're looking to do single email validations, please use our single email validator endpoint."
    },
    {
      "name": "Bulk Validate Send File",
      "value": "sendFile",
      "action": "Send validation file",
      "description": "Send a file to ZeroBounce for bulk validation"
    },
    {
      "name": "Bulk Validate Get File",
      "value": "getFile",
      "action": "Get validation results file",
      "description": "Get the results file for a submitted validation file"
    },
    {
      "name": "Bulk Validate File Status",
      "value": "fileStatus",
      "action": "Get validation file status",
      "description": "Get the status of a file submitted for validation"
    },
    {
      "name": "Bulk Validate Delete File",
      "value": "deleteFile",
      "action": "Delete validation file",
      "description": "Delete a previously submitted validation file"
    },
    {
      "name": "Score Email",
      "value": "score",
      "action": "Score an email",
      "description": "Score a single email address (real-time)"
    },
    {
      "name": "Bulk Scoring Send File",
      "value": "scoringSendFile",
      "action": "Send scoring file",
      "description": "Send a file to ZeroBounce for bulk scoring"
    },
    {
      "name": "Bulk Scoring Get File",
      "value": "scoringGetFile",
      "action": "Get scoring results file",
      "description": "Get the results file for a submitted scoring file"
    },
    {
      "name": "Bulk Scoring File Status",
      "value": "scoringFileStatus",
      "action": "Get scoring file status",
      "description": "Get the status of a file submitted for scoring"
    },
    {
      "name": "Bulk Scoring Delete File",
      "value": "scoringDeleteFile",
      "action": "Delete scoring file",
      "description": "Delete a previously submitted scoring file"
    },
    {
      "name": "Find Email Address",
      "value": "find",
      "action": "Find email address",
      "description": "Uses a person’s first and last name and a domain or company name to test a variety of patterns and combinations in real time until it identifies a valid business email. It does not use or process customer data at any point to aid in this search. Privacy and Security Note – Email Finder API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
    },
    {
      "name": "Bulk Email Finder Send File",
      "value": "emailFinderSendFile",
      "action": "Send email finder file",
      "description": "Send a file to ZeroBounce for bulk email finding"
    },
    {
      "name": "Bulk Email Finder Get File",
      "value": "emailFinderGetFile",
      "action": "Get email finder results file",
      "description": "Get the results file for a submitted email finder file"
    },
    {
      "name": "Bulk Email Finder File Status",
      "value": "emailFinderFileStatus",
      "action": "Get email finder file status",
      "description": "Get the status of a submitted email finder file"
    },
    {
      "name": "Bulk Email Finder Delete File",
      "value": "emailFinderDeleteFile",
      "action": "Delete email finder file",
      "description": "Delete a previously submitted email finder file"
    },
    {
      "name": "Search Domain",
      "value": "search",
      "action": "Search domain",
      "description": "Domain search is functionally similar to email address inquiry but instead attempts to detect possible patterns a specific company uses. You can use detected patterns to help you approximate the correct email for a specific person you’re attempting to contact at a business. Privacy and security note – Domain Search API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
    },
    {
      "name": "Bulk Domain Search Send File",
      "value": "domainSearchSendFile",
      "action": "Send domain search file",
      "description": "Send a file to ZeroBounce for bulk domain searching"
    },
    {
      "name": "Bulk Domain Search Get File",
      "value": "domainSearchGetFile",
      "action": "Get domain search results file",
      "description": "Get the results file for a submitted domain search file"
    },
    {
      "name": "Bulk Domain Search File Status",
      "value": "domainSearchFileStatus",
      "action": "Get domain search file status",
      "description": "Get the status of a submitted domain search file"
    },
    {
      "name": "Bulk Domain Search Delete File",
      "value": "domainSearchDeleteFile",
      "action": "Delete domain search file",
      "description": "Delete a previously submitted domain search file"
    },
    {
      "name": "Activity Data",
      "value": "getActivityData",
      "action": "Get activity data",
      "description": "Our Activity Data feature allows you to gather insights into your subscribers’ overall email engagement. The tool returns if the email inbox has been active in the past 30, 60, 90, 180, 365, or 365+ days. This indicates a potentially outdated contact, not recommended for cold emailing. Thus, you can improve your targeting and personalization and run more successful email campaigns."
    }
  ]

npm_readme:
  ![ZeroBounce Logo](https://raw.githubusercontent.com/zerobounce/n8n-nodes-zerobounce/main/icons/zb-logo-purple.svg)

  # n8n-nodes-zerobounce

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

  **This is the [Official ZeroBounce](https://n8n.io/integrations/zerobounce) n8n community node for use in your n8n
  workflows.**

  * [Key Features](#key-features)
  * [About](#about)
  * [Installation](#installation)
  * [Operations](#operations)
      * [Validation](#-validation)
      * [A.I. Scoring](#-ai-scoring)
      * [Email Finder](#-email-finder)
      * [Domain Search](#-domain-search)
      * [Activity Data](#-activity-data)
      * [Account](#-account)
  * [Credentials](#credentials)
  * [Usage](#usage)
      * [Workflow Testing](#-workflow-testing)
      * [Single Email Validation](#-single-email-validation)
      * [Bulk File Webhook Integration](#-bulk-file-webhook-integration-wait-node)
  * [Support](#support)
  * [Compatibility](#compatibility)
  * [Resources](#resources)

  ## 💡Key Features

  - 🛡️ **Validation:** Detect invalid, abuse, and spam trap addresses before they impact your sender reputation.
  - 🎯 **A.I. Scoring:** Go beyond validation with AI-driven deliverability scores, great for catch-all addresses.
  - 🔍 **Lead Discovery:** Integrated Email Finder and Domain Search tools to build and verify your outreach lists.
  - 📊 **Usage Analytics:** Monitor API usage and credit balances to ensure uninterrupted and efficient service.

  ---

  ## About

  Validate and score email addresses with the official **ZeroBounce** node to improve email deliverability and protect
  your domain reputation.

  ### About ZeroBounce

  **[ZeroBounce](https://www.zerobounce.net)** is an award-winning email verification and deliverability platform designed
  to help businesses maintain high-quality email lists and improve their inbox placement.

  Trusted by over 500,000 clients—including major brands like Samsung, Coca-Cola, and LinkedIn; we specialize in
  identifying risky email addresses to reduce bounce rates and increase engagement.

  #### Core Services & Features

  - **Email Validation:** Offers 99.6% accurate real-time and bulk email verification to identify invalid, disposable,
    abuse, and spam trap addresses.
  - **A.I. Email Scoring:** Uses artificial intelligence to analyze "catch-all" or valid addresses and assign a score (
    1–10) based on the likelihood of reaching a real person.
  - **Email Activity Data:** Provides insights into a subscriber’s recent behavior (opens, clicks, unsubscribes) to help
    with list segmentation.
  - **Deliverability Tools:** Includes DMARC monitoring, 24/7 blacklist monitoring, inbox placement testing, and email
    server testing.
  - **Email Finder & Warmup:** A B2B search tool to find professional contacts and an automated service to build or repair
    a domain’s sender reputation.

  #### Security & Performance

  ZeroBounce maintains high standards for security and reliability, featuring:

  - **Compliance:** The platform is SOC 2 Type 2 and ISO-27001 certified, and fully compliant with GDPR, HIPAA, and CCPA.
  - **Reliability:** Guarantees 99.99% API reliability with one of the industry's lowest "unknown" result rates (averaging
    1.69% in 2024).
  - **24/7 Support:** Provides round-the-clock live chat and email support with an average response time of under 20
    seconds for chat.

  ---

  ## Installation

  The ZeroBounce node can be found in the n8n nodes list.

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

  ---

  ## Operations

  ### 🛡️ Validation

  | Operation         | Description                                                  |
  |:------------------|:-------------------------------------------------------------|
  | Validate Email    | Check a single email for validity, sub-status, and metadata. |
  | Validate Batch    | Validate up to 200 email addresses in a single request.      |
  | Bulk: Send File   | Upload a CSV or TXT file for large-scale list cleaning.      |
  | Bulk: Get File    | Download the processed results of a bulk validation job.     |
  | Bulk: File Status | Monitor the real-time progress of a file being validated.    |
  | Bulk: Delete File | Permanently remove a processed file from ZeroBounce servers. |

  ### 🤖 A.I. Scoring

  | Operation         | Description                                                 |
  |:------------------|:------------------------------------------------------------|
  | Score Email       | Get an AI-driven quality score (1-10) for a single email.   |
  | Bulk: Send File   | Upload a file to score multiple "catch-all" or valid leads. |
  | Bulk: Get File    | Download the AI scoring results for your uploaded file.     |
  | Bulk: File Status | Check the percentage completion of an AI scoring job.       |
  | Bulk: Delete File | Delete an AI scoring file once processing is finished.      |

  ### 🔍 Email Finder

  | Operation          | Description                                                               |
  |:-------------------|:--------------------------------------------------------------------------|
  | Find Email Address | Discover professional emails using a person's name and domain or company. |
  | Bulk: Send File    | Upload a list of names and domains to find emails at scale.               |
  | Bulk: Get File     | Retrieve the results of a bulk email finder operation.                    |
  | Bulk: File Status  | Track the status of a bulk email finding request.                         |
  | Bulk: Delete File  | Remove a bulk email finder file from your dashboard.                      |

  ### 🌐 Domain Search

  | Operation         | Description                                                   |
  |:------------------|:--------------------------------------------------------------|
  | Domain Search     | Find email address formats associated with a specific domain. |
  | Bulk: Send File   | Submit a file of domains to perform a bulk search.            |
  | Bulk: Get File    | Download the results of a bulk domain search.                 |
  | Bulk: File Status | Monitor the progress of a bulk domain search job.             |
  | Bulk: Delete File | Clean up your domain search history by deleting files.        |

  ## 📊 Activity Data

  | Operation         | Description                                                   |
  |:------------------|:--------------------------------------------------------------|
  | Get Activity Data | Retrieve metadata regarding a user's recent email engagement. |

  ### 💳 Account

  | Operation       | Description                                                    |
  |:----------------|:---------------------------------------------------------------|
  | Credits Balance | Check the remaining credits in your ZeroBounce account.        |
  | API Usage       | Get a breakdown of your API usage over a specific time period. |
  | List Filters    | View all active allow/block filters.                           |
  | Add Filter      | Add a filter to your allow/block lists.                        |
  | Delete Filter   | Remove a filter from your allow/block lists.                   |

  ---

  ## Credentials

  You need a ZeroBounce API Key to use this node. Follow the steps below to generate one for free.

  ### 🔑 API Key

  1. Open your ZeroBounce API dashboard [ZeroBounce API](https://www.zerobounce.net/members/API).
  2. Click 'Create a new API Key'.
  3. Enter a descriptive name for your key in the API Key Name field, like 'n8n integration'.
  4. Set the key to active and optionally configure the IP address(es) it can be used from.
  5. Toggle the API Keys' visibility and copy the value shown.

  For more information, see [API Keys Management](https://www.zerobounce.net/docs/api-dashboard/#API_keys_management)

  ---

  ## Usage

  ### 🧪 Workflow Testing

  Use [API Sandbox Mode](https://www.zerobounce.net/docs/email-validation-api-quickstart/#sandbox_mode__v2__)
  data to test workflows without using your ZeroBounce credits.

  ---

  ### 🛡 Single Email Validation

  The Validate Email operation allows you to verify a single email address in real-time.
  This is ideal for cleaning leads from signup forms, chat interfaces, or individual CRM entries.

  #### 🛠️ Step-by-Step Setup

  1. **Add the Node:** Add the **ZeroBounce** node to your n8n canvas and select the **Validate** operation.
  2. **Enter Email:** In the Email field, provide the address you wish to check.
     Use an expression to pull data from a previous node (e.g., `{{ $json.email }}` or
     `{{ $('Shopify customer created').item.json.email }}`).
  3. **Add Options:** Use the `Add option` button to add optional fields
  4. **Execute:** Run the node to receive the validation results.

  #### ⚙️ Parameters

  While only the email address is required, you can refine your results using the following optional parameters found in
  the node's settings:

  | Parameter             | Optional | Description                                                                                                                                                                                                                                                                                |
  |:----------------------|:---------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | Email                 |          | The email address you want to validate                                                                                                                                                                                                                                                     |
  | IP Address            | ✔️       | Provide the user's IP address (IPv4) to gain location metadata (Country, City, Zip) and check if the IP is associated with known proxy/VPN usage.                                                                                                                                          |
  | Include Activity Data | ✔️       | Provides metadata about the user's recent engagement, such as the last time they opened, clicked, or forwarded an email (e.g., within 30, 90, or 180 days).                                                                                                                                |
  | Verify+               | ✔️       | Read before enabling: [Verify+](https://www.zerobounce.net/docs/email-list-validation/verify-plus#Verify_Plus). Significantly reduces "Catch-all" results. It uses proprietary technology to provide a definitive valid or invalid status for many domains that normally return catch-all. |
  | Timeout (Seconds)     | ✔️       | Adjust the maximum time (in seconds) the node should wait for a response from the API. Default is typically sufficient for most workflows. When a request exceeds this timeout, the API will return unknown / greylisted.                                                                  |

  #### 📊 Understanding the Response

  A successful execution returns a JSON object with the following key fields:

  - **Status:** The core result (e.g., `valid`, `invalid`, `catch-all`, `spamtrap`, `abuse`, `do_not_mail`, `unknown`).
  - **Sub Status:** Detailed reasoning for the status (e.g., `mailbox_not_found`, `global_suppression`, `possible_trap`).
  - **Account / Domain:** Parsed components of the email address.
  - **Did You Mean:** A suggestion if the API detects a common typo (e.g., `john@gnail.com` suggests `john@gmail.com`).
  - **Flags:** Boolean flags for `free_email`, `disposable`, and `role_based` accounts.
  - **Metadata:** Information such as the domain's MX records, SMTP provider, and (if IP was provided) geographic data.

  ##### ✨ Example Response:

  ```json
  {
    "address": "support@zerobounce.net",
    "status": "do_not_mail",
    "sub_status": "role_based_catch_all",
    "free_email": false,
    "did_you_mean": null,
    "account": "support",
    "domain": "zerobounce.net",
    "domain_age_days": "3286",
    "smtp_provider": "g-suite",
    "mx_found": "true",
    "mx_record": "aspmx.l.google.com",
    "firstname": null,
    "lastname": null,
    "gender": null,
    "country": "United States",
    "region": "Florida",
    "city": "Boca Raton",
    "zipcode": "33428",
    "processed_at": "2026-01-23 14:50:00.159"
  }
  ```

  #### 💡 Pro Tip: Logic Routing

  After this node, use a Switch or If node to route your workflow:

  - **If Status = `valid`:** Route to your "Valid" path, e.g. create a CRM contact
  - **If Status = `catch-all`:** Route to the AI Scoring node for further vetting
  - **If Status = `invalid` (or fallback):** Route to "Rejected" path, e.g. add entry to a table for manual review

  As used in
  this [Example Template: Single Validation Lead Vetting](https://n8n.io/workflows/12601-vet-new-shopify-leads-with-zerobounce-and-sync-qualified-contacts-to-hubspot/)

  ---

  ### 🛡 Batch Email Validation

  The Batch Validate Email operation allows you to verify up to 200 email addresses in real-time.
  This is ideal for processing small lists of leads retrieved from a database, an API, or a previous n8n node without the
  overhead of file uploads.

  This request is rate limited,
  see [Batch Email Validation API Documentation](https://www.zerobounce.net/docs/email-validation-api-quickstart/v2-batch-validate-emails).

  #### 🛠️ Step-by-Step Setup

  1. **Add the Node:** Add the **ZeroBounce** node to your n8n canvas and select the **Validate Batch** operation.
  2. **Combine Items:** Enabled by default,
      - **Enabled (default):** Combines multiple input items into a single request.
      - **Disabled:** Handles each input item as a batch request. The data should already be batched.
  3. **Split Items:**
      - **Enabled (default):** Splits the response into individual items for individual processing.
      - **Disabled:** The response is returned as-is with an array of results and an array of errors.
  4. **Enter Data:** Data is intelligently extracted from one of the three **Item Input Types** (scanning for email and
     IP address fields, e.g. `email`, `email_address`, `ip`, `ip_address` etc.):
      - **Field Assignment:** Drag and drop fields from previous node outputs to map a field, object or array from input
        items which already contain the email/IP fields.
          - **Object/Field:** Use with 'Combine Items' enabled, an email from each item will be combined into an
            array in a single batch request.
          - **Array:** The values will be extracted from this array and sent in the batch request.If 'Combine Items'
            is enabled, arrays will be joined)
      - **JSON Input:** Freeform JSON to be used as the input. Useful when you already have JSON in the correct format.
          - **Expected format:** ```{ "data": [ {"email_address": "valid@example.com", "ip_address": "99.110.204.1" } ] }```
      - **Mapped:** Map individual email/IP fields from input items
          - With 'Combine Items' enabled the values from each input item will be combined into a single array in the batch
            request.
  5. **Add Options:** Use the `Add option` button to add optional fields
  6. **Execute:** Run the node to receive the validation results.

  #### ⚙️ Parameters

  While only the input data containing email addresses is required, you can refine your results using the following
  optional parameters found in
  the node's settings:

  | Parameter                  | Optional | Description                                                                                                                                                                                                                                                                                |
  |:---------------------------|:---------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | Item Input: Email(s)       |          | The email address(es) you want to validate. This can be a field, object or array from your input items, optionally combined to create a single batch request.                                                                                                                              |
  | Item Input: IP Address(es) | ✔️       | Pair an email address with an IP address (IPv4) to gain location metadata (Country, City, Zip) and check if the IP is associated with known proxy/VPN usage.                                                                                                                               |
  | Include Activity Data      | ✔️       | Provides metadata about the user's recent engagement, such as the last time they opened, clicked, or forwarded an email (e.g., within 30, 90, or 180 days).                                                                                                                                |
  | Verify+                    | ✔️       | Read before enabling: [Verify+](https://www.zerobounce.net/docs/email-list-validation/verify-plus#Verify_Plus). Significantly reduces "Catch-all" results. It uses proprietary technology to provide a definitive valid or invalid status for many domains that normally return catch-all. |
  | Timeout (Seconds)          | ✔️       | Adjust the maximum time (3 - 60 seconds) the node should wait for a response from the API. Default is typically sufficient for most workflows. When a request exceeds this timeout, the API will return unknown / greylisted.                                                              |

  #### 📊 Understanding the Response

  A successful execution returns a JSON object with the following fields:

  - **Split Items Enabled (default):**
      - An output item per email containing validation results.
        See [Example Validation Response](#-example-response)
  - **Split Items Disabled:**
      - `email_batch`: An array of validation results.
        See [Example Validation Response](#-example-response)
      - `errors`: An array of errors

  #### 💡 Pro Tip: Handling Large Lists (> 200 items)

  If your workflow needs to validate more than 200 emails at once, you should implement a Looping & Merging pattern:

  - **Split into Batches:** Use the **Loop** node to chunk your data into batches of 200.
  - **Loop:** Connect the 'loop' output of the **Loop** node to the **Validate Email Batch** node.
  - **Validate:** Connect the **Validate Email Batch** node output to the **Loop** node input.
  - **Results:** Connect the 'done' output of the **Loop** node to the rest of your workflow.

  #### ⚡ Optional enhancement: Merge Validation Results

  - **Merge Results:** After the loop, you can use a **Merge** node to join the validation results with your original
    items using the email address as the unique identifier.
      - This enriches your original data with the new validation results for easier handling in the rest of your workflow.
      - Connect the output of the node before the loop to 'Input 1' of your **Merge** node.
      - Connect the 'done' output of the **Loop** node to 'Input 2' of your **Merge** node.
      - Configure the **Merge** node to 'Combine By: Matching Fields' and choose `email_address` for Input 1 and `address`
        for Input 2.

  ---

  ### ⏳ Bulk File Webhook Integration (Wait Node)

  See our
  [Example Template: Bulk Validation](https://n8n.io/workflows/11538-bulk-email-validation-and-ai-scoring-with-zerobounce/)

  To efficiently handle bulk files without manual polling:

  1. Add a [Wait node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#on-webhook-call)
     to your workflow.
  2. Set it to 'On Webhook Call' with the HTTP Method set to 'POST'.
  3. Optional: Add a webhook suffix with the options dropdown e.g. `zerobounce`.
  4. In the **Send File** node, set the `Return URL` field to the auto-generated webhook URL e.g.
     `{{$execution.resumeUrl}}` or `{{$execution.resumeUrl}}/zerobounce`
  5. The workflow will pause and automatically resume when ZeroBounce sends the completion notification.
  6. Optional: The status of webhook calls can be viewed
     here [API Callback Status](https://www.zerobounce.net/members/API/status)

  #### ⚡ Optional enhancement: Add Timeout and Status Checks

  Adding a wait timeout and manual status check can prevent delayed or abandoned executions when there is an issue with a
  callback, e.g. network connectivity issues.

  1. Add a timeout to the **Wait** node (e.g. 5 minutes) using the `Limit Wait Time` field and `Limit Type` set to
     `After Time Interval`
  2. Add a **File Status** node to check on the processing status of the file
  3. Add a **Switch** node with 3 branches checking `{{ $json.file_status }}`:
      1. **`Complete`:** Completed, get the processed file
      2. **`Processing`:** In progress, loop back into your wait node
      3. **`Failed` (or fallback):** The file failed to process, exit and review the reason it failed

  ---

  ## Support

  If you encounter an issue with this node, please [Contact Us](https://www.zerobounce.net/contact-us/).

  ---

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ---

  ## Resources

  * [ZeroBounce Website](https://zerobounce.net)
  * [ZeroBounce API Developer Documentation](https://www.zerobounce.net/docs)
  * [ZeroBounce API Dashboard](https://www.zerobounce.net/members/API)
  * [ZeroBounce API Callback Status](https://www.zerobounce.net/members/API/status)
  * [Example Template: Bulk Validation](https://n8n.io/workflows/11538-bulk-email-validation-and-ai-scoring-with-zerobounce/)
  * [Example Template: Single Validation](https://n8n.io/workflows/11498-validate-and-score-email-addresses-with-zerobounce-ai/)
  * [Example Template: Single Validation Lead Vetting](https://n8n.io/workflows/12601-vet-new-shopify-leads-with-zerobounce-and-sync-qualified-contacts-to-hubspot/)
  * [Example Template: Validate & score leads with ZeroBounce AI before sending Gmail emails](https://n8n.io/workflows/11902-validate-and-score-leads-with-zerobounce-ai-before-sending-gmail-emails/)
  * [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/#community-nodes)

ai_documentation_summary:
  {"purpose":"Validate, verify, and score email addresses and discover professional contacts using the ZeroBounce API from within n8n workflows.","capabilities":["Validate single email (real-time validation with status and metadata)","Validate batch (validate up to 200 emails per request)","Bulk file validation (upload CSV/TXT, monitor status, download results, delete file)","AI scoring for single email (deliverability score 1–10)","Bulk AI scoring (upload file, check status, download results, delete file)","Email Finder (find professional email by name+domain/company; bulk finder via file upload)","Domain Search (search addresses by domain) ","Email activity data (retrieve subscriber opens, clicks, unsubscribes, etc.)","Account & usage endpoints (check API usage, credit balances)","Asynchronous file job handling (send file, poll status, retrieve result)"],"authentication":"API key required (ZeroBounce account API key)","commonUseCases":["Real-time validation of single emails before form submission or signup","Bulk list cleaning by uploading CSV/TXT files and retrieving cleaned results","Scoring catch-all or ambiguous addresses using AI scoring to prioritize outreach","Finding professional contact emails from names and domains to build prospect lists","Monitoring usage and credits to prevent service interruptions"],"limitations":["Batch validation via API endpoint limited to 200 emails per request","Bulk operations are asynchronous — require uploading files and polling file status to retrieve results","Requires a ZeroBounce account and credits for verification/AI scoring/file processing"],"relatedNodes":[]}


node_type: n8n-nodes-superchat.superchat
package_name: n8n-nodes-superchat
display_name: Superchat
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: superchat-ben
author_github_url: https://github.com/super-chat/
npm_package_name: n8n-nodes-superchat
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.482Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Receive and send messages from WhatsApp, Instagram, Messenger, E-Mail, SMS, via Live Chat and Telegram.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "User",
          "value": "user",
          "description": "A user"
        },
        {
          "name": "Contact",
          "value": "contact",
          "description": "A contact"
        },
        {
          "name": "Message",
          "value": "message",
          "description": "A message"
        },
        {
          "name": "Conversation",
          "value": "conversation",
          "description": "A conversation"
        },
        {
          "name": "Note",
          "value": "note",
          "description": "A note"
        },
        {
          "name": "File",
          "value": "file",
          "description": "A file"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "me",
      "options": [
        {
          "name": "Identify Yourself",
          "value": "me",
          "action": "Retrieve information about yourself as a Superchat user"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search For Contact",
          "value": "search",
          "action": "Search for a contact"
        },
        {
          "name": "Delete Contact",
          "value": "delete",
          "action": "Delete a contact"
        },
        {
          "name": "Create Contact",
          "value": "create",
          "action": "Create a new contact"
        },
        {
          "name": "Update Contact",
          "value": "update",
          "action": "Update an existing contact"
        },
        {
          "name": "Get Many Conversations",
          "value": "listConversations",
          "action": "Get many conversations of a contact"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send a message"
        },
        {
          "name": "Send Email",
          "value": "sendMail",
          "action": "Send an email"
        },
        {
          "name": "Send WhatsApp Template",
          "value": "sendWhatsAppTemplate",
          "action": "Send a WhatsApp template"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get Conversation By ID",
          "value": "get",
          "action": "Retrieve a conversation"
        },
        {
          "name": "Update Labels",
          "value": "updateLabels",
          "action": "Update the labels of a conversation"
        },
        {
          "name": "Update Status",
          "value": "updateStatus",
          "action": "Update the status of a conversation"
        },
        {
          "name": "Update Assigned Users",
          "value": "updateAssignees",
          "action": "Update the assignees of a conversation"
        },
        {
          "name": "Delete Conversation",
          "value": "delete",
          "action": "Delete a conversation"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "conversation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Conversation Note",
          "value": "create",
          "action": "Create a conversation note"
        },
        {
          "name": "Get Conversation Note By ID",
          "value": "get",
          "action": "Retrieve a conversation note"
        },
        {
          "name": "Delete Conversation Note",
          "value": "delete",
          "action": "Delete a conversation note"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "note"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create File",
          "value": "create",
          "action": "Create a file"
        },
        {
          "name": "Delete File",
          "value": "delete",
          "action": "Delete a file"
        },
        {
          "name": "Download File",
          "value": "download",
          "action": "Download a file"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Identify Yourself",
      "value": "me",
      "action": "Retrieve information about yourself as a Superchat user"
    },
    {
      "name": "Search For Contact",
      "value": "search",
      "action": "Search for a contact"
    },
    {
      "name": "Delete Contact",
      "value": "delete",
      "action": "Delete a contact"
    },
    {
      "name": "Create Contact",
      "value": "create",
      "action": "Create a new contact"
    },
    {
      "name": "Update Contact",
      "value": "update",
      "action": "Update an existing contact"
    },
    {
      "name": "Get Many Conversations",
      "value": "listConversations",
      "action": "Get many conversations of a contact"
    },
    {
      "name": "Send Message",
      "value": "sendMessage",
      "action": "Send a message"
    },
    {
      "name": "Send Email",
      "value": "sendMail",
      "action": "Send an email"
    },
    {
      "name": "Send WhatsApp Template",
      "value": "sendWhatsAppTemplate",
      "action": "Send a WhatsApp template"
    },
    {
      "name": "Get Conversation By ID",
      "value": "get",
      "action": "Retrieve a conversation"
    },
    {
      "name": "Update Labels",
      "value": "updateLabels",
      "action": "Update the labels of a conversation"
    },
    {
      "name": "Update Status",
      "value": "updateStatus",
      "action": "Update the status of a conversation"
    },
    {
      "name": "Update Assigned Users",
      "value": "updateAssignees",
      "action": "Update the assignees of a conversation"
    },
    {
      "name": "Delete Conversation",
      "value": "delete",
      "action": "Delete a conversation"
    },
    {
      "name": "Create Conversation Note",
      "value": "create",
      "action": "Create a conversation note"
    },
    {
      "name": "Get Conversation Note By ID",
      "value": "get",
      "action": "Retrieve a conversation note"
    },
    {
      "name": "Delete Conversation Note",
      "value": "delete",
      "action": "Delete a conversation note"
    },
    {
      "name": "Create File",
      "value": "create",
      "action": "Create a file"
    },
    {
      "name": "Delete File",
      "value": "delete",
      "action": "Delete a file"
    },
    {
      "name": "Download File",
      "value": "download",
      "action": "Download a file"
    }
  ]

npm_readme:
  # n8n-nodes-superchat
  ![](./superchat.png)

  This is an n8n community node. It lets you integrate **Superchat** into your n8n workflows.

  **Superchat** is a unified messaging platform that enables sending and receiving messages across WhatsApp, Instagram Direct, Facebook Messenger, SMS, email, Live Chat, and more. Our Superchat app in n8n supports managing contacts, conversations, notes, files, channels, labels, and more.

  [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

  This node supports operations on the following six resources:

  ### User
  - **Me** — Retrieve details about the authenticated Superchat user.

  ### Contact
  - **Create** — Create a new contact.
  - **Search** — Search for contacts by email, phone, or Instagram handle.
  - **Update** — Update a contact's information.
  - **Delete** — Delete a contact by its ID.
  - **Get Conversations** — Fetch all conversations associated with a contact.

  ### Message
  - **Send Message** — Send a text or media message to a contact.
  - **Send Mail** — Send an email, with optional attachments, to a contact.
  - **Send WhatsApp Template** — Send a pre-approved WhatsApp template message.

  ### Conversation
  - **Get** — Retrieve a conversation by its ID.
  - **Delete** — Delete a conversation by its ID.
  - **Update Labels** — Update the labels for a conversation.
  - **Update Status** — Update the status of a conversation (e.g., open, done, snoozed).
  - **Update Assignees** — Update the users assigned to a conversation.

  ### Note
  - **Create** — Add a new note to a conversation.
  - **Get** — Retrieve a specific note from a conversation.
  - **Delete** — Delete a specific note from a conversation.

  ### File
  - **Create (upload)** — Upload a binary file to Superchat.
  - **Download** — Download a file by its ID.
  - **Delete** — Delete a file by its ID.

  ---

  ## Credentials

  **Superchat API**

  1. Log into your Superchat Account.
  2. Go to Settings > Explore Integrations > Click the n8n card
  3. Click 'Add' and copy the API key.
  4. Add a n8n action or trigger and enter your Superchat API key in the credentials section.

  ---

  ## Compatibility

  Tested with:
  - **n8n v1.97.1**

  ---

  ## Usage

  1. Install n8n-nodes-superchat via the community nodes installer.
  2. Add the Superchat node to your n8n workflow.
  3. Configure credentials using your Superchat API key.
  4. Select a resource (User, Contact, Message, Conversation, Note, or File).
  5. Choose the desired operation.
  6. Fill in required fields (e.g. recipient info, message content).
  7. Execute the workflow to send messages, manage contacts/conversations, and upload/download files.

  ---

  ## Resources

  - [Superchat API Documentation](https://developers.superchat.com/) 
  - [Getting Started Guide](https://developers.superchat.com/docs/getting-started-send-your-first-message)
  - [Superchat Help Centre](https://help.superchat.com)

ai_documentation_summary:
  {"purpose":"Integrate Superchat into n8n workflows to send and receive messages across multiple channels (WhatsApp, Instagram Direct, Messenger, SMS, Email, Live Chat, Telegram) and to manage contacts, conversations, files, notes, and related metadata.","capabilities":["Retrieve authenticated user details (Me)","Create, search, update, and delete contacts","Fetch all conversations for a contact","Send text or media messages to contacts","Send emails with optional attachments (Send Mail)","Send pre-approved WhatsApp template messages","Retrieve, delete, and update conversations","Update conversation labels, status (open/done/snoozed), and assignees","Create, get, and delete notes on conversations","Upload (create) binary files, download files by ID, and delete files"],"authentication":"API key required (Superchat API key added in node credentials)","commonUseCases":["Automate outbound messaging across WhatsApp, Instagram, Messenger, SMS, email, Live Chat, and Telegram","Sync and enrich contact records from external sources into Superchat","Manage and route conversations: fetch conversation details, update status, labels, and assignees","Send emails or media messages with attachments from workflows","Upload or retrieve files associated with conversations and contacts"],"limitations":[],"relatedNodes":[]}


node_type: @fibery/n8n-nodes-fibery.fibery
package_name: @fibery/n8n-nodes-fibery
display_name: Fibery
description: Read, update, write and delete data from Fibery
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: gaswelder
author_github_url: https://github.com/Fibery-inc/n8n-nodes-fibery.git
npm_package_name: @fibery/n8n-nodes-fibery
npm_version: 0.1.19
community_fetched_at: 2026-02-19T14:41:52.483Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "entity",
      "options": [
        {
          "name": "Database",
          "value": "database"
        },
        {
          "name": "Entity",
          "value": "entity"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many databases",
          "description": "Get many databases from the workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "database"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an entity",
          "description": "Create a new entity"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an entity",
          "description": "Delete an entity"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an entity",
          "description": "Get an entity"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many entities",
          "description": "Get many entities from a database"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an entity",
          "description": "Update an entity"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "entity"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many databases",
      "description": "Get many databases from the workspace"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an entity",
      "description": "Create a new entity"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an entity",
      "description": "Delete an entity"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an entity",
      "description": "Get an entity"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many entities",
      "description": "Get many entities from a database"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an entity",
      "description": "Update an entity"
    }
  ]

npm_readme:
  # n8n-nodes-fibery

  ![Fibery x n8n](./fibery-x-n8n.png)

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

  Fibery is your company’s operating system
  It's a work platform that replaces scattered tools and connects teams. Chosen by nerds, appreciated by everyone (almost).

  [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.

  1. Go to **Settings** > **Community Nodes**.
  2. Select **Install**.
  3. Enter `@fibery/n8n-nodes-fibery` in **npm Package name**.
  4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes: select **I understand the risks of installing unverified code from a public source**.
  5. Select **Install**.

  ## Operations

  ### Database

  - **get many**. List all databases in the workspace.

  ### Entity

  - **create**. Create a new entity.
  - **delete**. Delete an entity.
  - **get**. Get an entity.s
  - **get many**. Search and list entities from a database.
  - **update**. Update an entity.

  ### Triggers

  - **default**. Handle Fibery events to Database from webhooks.

  ## Credentials

  At the moment this node supports only one authentication method: **API Key**.

  ### Using API Key

  1. Enter the name of your Fibery workspace in the **Workspace** field. It can be obtained from the URL of your workspace. For example, if your workspace URL is `https://my-company.fibery.io`, then the workspace name is `my-company`.
  2. Obtain an API key from your Fibery workspace. Please follow the [Fibery API keys](https://the.fibery.io/@public/User_Guide/Guide/Fibery-API-keys-252) guide.
  3. Enter API key in the **API Key** field.

  ## Compatibility

  Tested on: 1.111.0

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Fibery](https://www.fibery.io/)
  - [Fibery API documentation](https://the.fibery.io/@public/User_Guide/Guide/Fibery-API-overview-279)

ai_documentation_summary:
  {"purpose":"Provides n8n nodes to read, create, update, and delete Fibery data and to trigger n8n workflows from Fibery events (via webhooks).","capabilities":["List all databases in a workspace (Database: get many)","Create an entity (Entity: create)","Delete an entity (Entity: delete)","Get a single entity (Entity: get)","Search and list entities from a database (Entity: get many)","Update an entity (Entity: update)","Trigger workflows on Fibery events using webhooks (Triggers: default)"],"authentication":"API key required (provide Workspace name and Fibery API Key)","commonUseCases":["Sync or migrate records between Fibery and other systems","Automate creation and updates of Fibery entities from external workflows","Search and list entities for reporting or downstream processing","Start n8n workflows when Fibery events occur via webhook triggers","Discover workspace structure by listing databases"],"limitations":["Only supports API Key authentication (no OAuth2 or alternative auth methods)","Operations are limited to Database (list), Entity CRUD/search and a default webhook trigger — other Fibery features/resources are not listed","Published as an n8n community node (requires accepting risks of unverified code)","Compatibility explicitly tested on Fibery version 1.111.0 (behavior on other versions not guaranteed)"],"relatedNodes":[]}


node_type: n8n-nodes-upcellapi.upcellApi
package_name: n8n-nodes-upcellapi
display_name: upcell API
description: Get data from the upcell API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: justinsweeney
author_github_url: https://github.com/UpCell/n8n-node.git
npm_package_name: n8n-nodes-upcellapi
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.484Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "enrichMobile",
      "options": [
        {
          "name": "Enrich Mobile",
          "value": "enrichMobile"
        },
        {
          "name": "Enrich Email",
          "value": "enrichEmail"
        },
        {
          "name": "Enrich Social URL",
          "value": "enrichSocialUrl"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post",
          "action": "Enrich mobile",
          "routing": {
            "request": {
              "url": "/enrich/contact",
              "body": {
                "fields": "={{[\"mobile\"]}}",
                "linkedinUrl": "={{ $parameter.linkedinUrl }}"
              },
              "method": "POST"
            }
          },
          "description": "Enrich contact with mobile phone"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "enrichMobile"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post",
          "action": "Enrich email",
          "routing": {
            "request": {
              "url": "/enrich/email",
              "body": {
                "last_name": "={{ $parameter.lastName }}",
                "first_name": "={{ $parameter.firstName }}",
                "company_domain": "={{ $parameter.companyDomain }}"
              },
              "method": "POST"
            }
          },
          "description": "Enrich contact with email address"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "enrichEmail"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post",
          "action": "Enrich social url",
          "routing": {
            "request": {
              "url": "/enrich/socialurl",
              "body": {
                "email": "={{ $parameter.email }}",
                "title": "={{ $parameter.title }}",
                "last_name": "={{ $parameter.lastName }}",
                "first_name": "={{ $parameter.firstName }}",
                "company_name": "={{ $parameter.companyName }}",
                "mobile_phone": "={{ $parameter.mobilePhone }}",
                "company_domain": "={{ $parameter.companyDomain }}",
                "company_social_url": "={{ $parameter.companySocialUrl }}"
              },
              "method": "POST"
            }
          },
          "description": "Enrich contact with social URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "enrichSocialUrl"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Post",
      "value": "post",
      "action": "Enrich mobile",
      "routing": {
        "request": {
          "url": "/enrich/contact",
          "body": {
            "fields": "={{[\"mobile\"]}}",
            "linkedinUrl": "={{ $parameter.linkedinUrl }}"
          },
          "method": "POST"
        }
      },
      "description": "Enrich contact with mobile phone"
    },
    {
      "name": "Post",
      "value": "post",
      "action": "Enrich email",
      "routing": {
        "request": {
          "url": "/enrich/email",
          "body": {
            "last_name": "={{ $parameter.lastName }}",
            "first_name": "={{ $parameter.firstName }}",
            "company_domain": "={{ $parameter.companyDomain }}"
          },
          "method": "POST"
        }
      },
      "description": "Enrich contact with email address"
    },
    {
      "name": "Post",
      "value": "post",
      "action": "Enrich social url",
      "routing": {
        "request": {
          "url": "/enrich/socialurl",
          "body": {
            "email": "={{ $parameter.email }}",
            "title": "={{ $parameter.title }}",
            "last_name": "={{ $parameter.lastName }}",
            "first_name": "={{ $parameter.firstName }}",
            "company_name": "={{ $parameter.companyName }}",
            "mobile_phone": "={{ $parameter.mobilePhone }}",
            "company_domain": "={{ $parameter.companyDomain }}",
            "company_social_url": "={{ $parameter.companySocialUrl }}"
          },
          "method": "POST"
        }
      },
      "description": "Enrich contact with social URL"
    }
  ]

npm_readme:
  # n8n-nodes-upcellapi

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

  upcell provides B2B contact and sales intelligence data.

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

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  <!-- delete if no auth needed -->  
  [Compatibility](#compatibility)  
  [Usage](#usage)  <!-- delete if not using this section -->  
  [Resources](#resources)  
  [Version history](#version-history)  <!-- delete if not using this section -->

  ## Installation

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

  ## Operations

  * Enrich Contact - enrich a contact with mobile data
  * Enrich Email - enrich a contact with a verified email address
  * Enrich Social URL - enrich a contact with a social url

  ## Credentials

  In order to use the upcell node, you will need to first obtain an upcell API key by contacting [sales@upcell.io](mailto:sales@upcell.io).

  ## Compatibility

  This has been tested against n8n version 1.115.3.

  ## Usage

  To understand more about the APIs available from upcell, visit https://api.upcell.io.

  If you are new to n8n and community nodes, you can [Try it out](https://docs.n8n.io/try-it-out/) to get started.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [upcell API Docs](https://www.upcell.io)

ai_documentation_summary:
  {"purpose":"Provides access to upcell's B2B contact and sales intelligence APIs from n8n workflows, allowing enrichment of contact records with email, mobile, and social data.","capabilities":["Enrich Contact — enrich a contact with mobile data","Enrich Email — enrich/verify a contact with a verified email address","Enrich Social URL — enrich a contact with a social profile URL","Make API requests to upcell endpoints (via the upcell API)"],"authentication":"API key required (obtain upcell API key by contacting sales@upcell.io)","commonUseCases":["Enrich lead or contact records with mobile numbers for outreach","Verify or populate email addresses for contacts","Add social profile URLs to contact records for sales and research workflows","Enhance CRM or marketing lists with B2B sales intelligence data"],"limitations":["Requires obtaining an API key by contacting sales@upcell.io","README documents only three enrichment operations (Contact, Email, Social URL); other endpoints or broader functionality are not described"],"relatedNodes":[]}


node_type: n8n-nodes-docuprox.docuProx
package_name: n8n-nodes-docuprox
display_name: DocuProx
description: Process documents using DocuProx API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: docuprox
author_github_url: https://github.com/docuprox/n8n-docuprox.git
npm_package_name: n8n-nodes-docuprox
npm_version: 1.0.6
community_fetched_at: 2026-02-19T14:41:52.484Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Document",
          "value": "document",
          "description": "Work with documents using DocuProx"
        }
      ],
      "required": true,
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "process",
      "options": [
        {
          "name": "Process",
          "value": "process",
          "action": "Process a document",
          "description": "Process a document with a template"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "Process",
      "value": "process",
      "action": "Process a document",
      "description": "Process a document with a template"
    }
  ]

npm_readme:
  # n8n-nodes-docuprox

  An n8n custom node for integrating with the DocuProx API to process documents using AI-powered document processing templates.

  ## Description

  This n8n node allows you to process documents by providing a template ID and an image (either as a binary file upload or base64 encoded string). The node communicates with the DocuProx API to extract structured data from documents based on predefined templates.

  ## Installation

  1. Clone or download this repository
  2. Navigate to the project directory
  3. Install dependencies:
     ```bash
     npm install
     ```
  4. Build the project:
     ```bash
     npm run build
     ```
  5. Copy the `dist` folder to your n8n custom nodes directory
  6. Restart n8n

  ## Usage

  1. Add the "DocuProx" node to your n8n workflow
  2. Configure your DocuProx API credentials (see Configuration section)
  3. Set the Template ID for the document processing template you want to use
  4. Choose your image source:
     - **Upload Image File**: Provide the binary property name containing the image file
     - **Base64 String**: Directly input the base64 encoded image data
  5. Execute the workflow

  The node will return the processed document data from the DocuProx API.

  ## Configuration

  ### Credentials Setup

  Before using the node, you need to set up your DocuProx API credentials:

  1. Go to your n8n instance
  2. Navigate to Settings > Credentials
  3. Create a new credential of type "DocuProx API"
  4. Enter your DocuProx API key
  5. Save the credential

  ### Node Properties

  - **Template ID** (required): The ID of the template to use for document processing
  - **Image Source** (required):
    - Upload Image File: Upload an image file from binary data
    - Base64 String: Provide image as Base64 encoded string
  - **Binary Property Name** (required when using Upload): Name of the binary property containing the image file
  - **Base64 Image** (required when using Base64): The base64 encoded image data

  ## API Reference

  ### Input
  - Template ID: String
  - Image: Binary file or Base64 string

  ### Output
  - Success status
  - Template ID used
  - API response data
  - Timestamp

  ### Error Handling
  The node includes comprehensive error handling and will return error details if the API call fails. You can configure the node to continue on failure or stop the workflow.

  ## Development

  ### Prerequisites
  - Node.js
  - npm
  - n8n instance

  ### Scripts
  - `npm run build`: Build the TypeScript code and copy assets
  - `npm run dev`: Watch mode for development
  - `npm run format`: Format code with Prettier
  - `npm run lint`: Lint code with ESLint

  ### Project Structure
  ```
  ├── credentials/
  │   └── DocuProxApi.credentials.ts    # API credentials definition
  ├── nodes/
  │   └── DocuProx/
  │       ├── DocuProx.node.ts          # Main node implementation
  │       └── douprox-logo.svg          # Node icon
  ├── dist/                             # Built files
  ├── package.json
  ├── tsconfig.json
  └── README.md
  ```

  ## License

  This project is licensed under the MIT License - see the LICENSE file for details.

ai_documentation_summary:
  {"purpose":"Send an image to the DocuProx API using a specified template ID to extract structured data from documents and return the processed data to n8n workflows.","capabilities":["Process a document image using a specified DocuProx template ID","Accept image input as a binary file (via a named binary property)","Accept image input as a Base64-encoded string","Return API response including success status, template ID used, response data, and timestamp","Configure binary property name and template ID within the node","Error handling with option to continue on failure or stop the workflow"],"authentication":"API key required (DocuProx API credential stored in n8n Credentials)","commonUseCases":["Extract structured fields from documents such as invoices, receipts, forms, or IDs","Automate data entry by converting document images into structured data for downstream processing","Validate or route documents based on extracted template fields within n8n workflows","Integrate AI-powered document processing into larger automation pipelines"],"limitations":["Requires an existing DocuProx template ID (Template ID is mandatory)","Input is limited to images provided as a binary property or Base64 string — README does not mention native PDF or multi-page document support","No explicit mention of batch or multi-file processing in the node documentation"],"relatedNodes":[]}


node_type: n8n-nodes-mfr.mfr
package_name: n8n-nodes-mfr
display_name: mfr - Field Service Management
description: Field service management app for scheduling technicians.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: apps_makeitfuture
author_github_url: https://github.com/anemesMakeitfuture/mfr-field-service-management.git
npm_package_name: n8n-nodes-mfr
npm_version: 0.1.13
community_fetched_at: 2026-02-19T14:41:52.485Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "company",
      "options": [
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Appointment",
          "value": "appointment"
        },
        {
          "name": "Item Type",
          "value": "itemType"
        },
        {
          "name": "Service Object",
          "value": "serviceObject"
        },
        {
          "name": "Service Request",
          "value": "serviceRequest"
        },
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Report",
          "value": "report"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a company",
          "description": "Get a company"
        },
        {
          "name": "Get Many",
          "value": "listCompanies",
          "action": "List companies",
          "description": "List Companies"
        },
        {
          "name": "Create One",
          "value": "createCompany",
          "action": "Create a company",
          "description": "Create a Company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listContacts",
      "options": [
        {
          "name": "Get Many",
          "value": "listContacts",
          "action": "List contacts",
          "description": "List Contacts"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createAppointment",
      "options": [
        {
          "name": "Create One",
          "value": "createAppointment",
          "action": "Create an appointment",
          "description": "Create an Appointment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "appointment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createItemType",
      "options": [
        {
          "name": "Create One",
          "value": "createItemType",
          "action": "Create an item type",
          "description": "Create an Item Type"
        },
        {
          "name": "Get One",
          "value": "getItemType",
          "action": "Get an item type",
          "description": "Get an Item Type"
        },
        {
          "name": "Get Many",
          "value": "listItemTypes",
          "action": "List item types",
          "description": "List Item Types"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "itemType"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createServiceObject",
      "options": [
        {
          "name": "Create One",
          "value": "createServiceObject",
          "action": "Create a service object",
          "description": "Create a Service Object"
        },
        {
          "name": "Get One Service Object",
          "value": "getServiceObject",
          "action": "Get a service object by id",
          "description": "Get a Service Object by ID"
        },
        {
          "name": "Get Many Service Objects",
          "value": "listServiceObjects",
          "action": "Get all service objects",
          "description": "Get all Service Objects"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serviceObject"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createServiceRequest",
      "options": [
        {
          "name": "Create One",
          "value": "createServiceRequest",
          "action": "Create a service request",
          "description": "Create a Service Request"
        },
        {
          "name": "Get One",
          "value": "getServiceRequest",
          "action": "Get a service request by id",
          "description": "Get a Service Request by ID"
        },
        {
          "name": "Delete One",
          "value": "deleteServiceRequest",
          "action": "Delete a service request",
          "description": "Delete a Service Request"
        },
        {
          "name": "Add Tags to Service Request",
          "value": "addTagsToServiceRequest",
          "action": "Add a tag to a service request",
          "description": "Add a tag to a service request"
        },
        {
          "name": "Remove Tag From Service Request",
          "value": "removeTagFromServiceRequest",
          "action": "Remove a tag from service request",
          "description": "Remove a tag from service request"
        },
        {
          "name": "Get Many Service Requests",
          "value": "listServiceRequests",
          "action": "Get a list of all service requests",
          "description": "Get a list of all service requests, with Service Objects and Products, Steps, Reports, Appointments and Items expanded"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serviceRequest"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "uploadDocument",
      "options": [
        {
          "name": "Upload One",
          "value": "uploadDocument",
          "action": "Upload document",
          "description": "Upload Document"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listUsers",
      "options": [
        {
          "name": "Get Many Users",
          "value": "listUsers",
          "action": "Get all users",
          "description": "Get all Users"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateReportFromReportDefinition",
      "options": [
        {
          "name": "Generate Report",
          "value": "generateReportFromReportDefinition",
          "action": "Generate report from report definition",
          "description": "Generate Report from Report Definition"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get a company",
      "description": "Get a company"
    },
    {
      "name": "Get Many",
      "value": "listCompanies",
      "action": "List companies",
      "description": "List Companies"
    },
    {
      "name": "Create One",
      "value": "createCompany",
      "action": "Create a company",
      "description": "Create a Company"
    },
    {
      "name": "Get Many",
      "value": "listContacts",
      "action": "List contacts",
      "description": "List Contacts"
    },
    {
      "name": "Create One",
      "value": "createAppointment",
      "action": "Create an appointment",
      "description": "Create an Appointment"
    },
    {
      "name": "Create One",
      "value": "createItemType",
      "action": "Create an item type",
      "description": "Create an Item Type"
    },
    {
      "name": "Get One",
      "value": "getItemType",
      "action": "Get an item type",
      "description": "Get an Item Type"
    },
    {
      "name": "Get Many",
      "value": "listItemTypes",
      "action": "List item types",
      "description": "List Item Types"
    },
    {
      "name": "Create One",
      "value": "createServiceObject",
      "action": "Create a service object",
      "description": "Create a Service Object"
    },
    {
      "name": "Get One Service Object",
      "value": "getServiceObject",
      "action": "Get a service object by id",
      "description": "Get a Service Object by ID"
    },
    {
      "name": "Get Many Service Objects",
      "value": "listServiceObjects",
      "action": "Get all service objects",
      "description": "Get all Service Objects"
    },
    {
      "name": "Create One",
      "value": "createServiceRequest",
      "action": "Create a service request",
      "description": "Create a Service Request"
    },
    {
      "name": "Get One",
      "value": "getServiceRequest",
      "action": "Get a service request by id",
      "description": "Get a Service Request by ID"
    },
    {
      "name": "Delete One",
      "value": "deleteServiceRequest",
      "action": "Delete a service request",
      "description": "Delete a Service Request"
    },
    {
      "name": "Add Tags to Service Request",
      "value": "addTagsToServiceRequest",
      "action": "Add a tag to a service request",
      "description": "Add a tag to a service request"
    },
    {
      "name": "Remove Tag From Service Request",
      "value": "removeTagFromServiceRequest",
      "action": "Remove a tag from service request",
      "description": "Remove a tag from service request"
    },
    {
      "name": "Get Many Service Requests",
      "value": "listServiceRequests",
      "action": "Get a list of all service requests",
      "description": "Get a list of all service requests, with Service Objects and Products, Steps, Reports, Appointments and Items expanded"
    },
    {
      "name": "Upload One",
      "value": "uploadDocument",
      "action": "Upload document",
      "description": "Upload Document"
    },
    {
      "name": "Get Many Users",
      "value": "listUsers",
      "action": "Get all users",
      "description": "Get all Users"
    },
    {
      "name": "Generate Report",
      "value": "generateReportFromReportDefinition",
      "action": "Generate report from report definition",
      "description": "Generate Report from Report Definition"
    }
  ]

npm_readme:
  # n8n-nodes-mfr

  This is an n8n community node. It lets you use mfr – Field Service Management in your n8n workflows.

  mfr – Field Service Management is a cloud platform for creating, scheduling and tracking service requests, assets, appointments, technicians, reports and related documents.


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

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

  ## Installation

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

  ## Operations


  - Get a Company
  - Create a Company
  - List Companies
  - Create a Service Request
  - Get a Service Request
  - List Service Requests
  - Delete a Service Request
  - Generate Report
  - Add Tags to Service Request
  - Remove Tag from Service Request
  - Upload Document
  - Appointment
  - Create an Appointment
  - Create an Item Type
  - Get an Item Type
  - List Item Types
  - Create a Service Object
  - Get a Service Object
  - List Service Objects
  - List Users
  - Watch Events Trigger – subscribe to real‑time change events from mfr

  ## Credentials

  The basic auth method is used for the requests.

  ## Compatibility

  1.98.0

  ## Usage

  Add the mfr Field Service node to your workflow and choose a Resource and Operation from the dropdown. Map the required fields using n8n data‑pinning or expressions.

  Example ideas:

  Create a Service Request when a support ticket is opened

  Trigger: Zendesk, Freshdesk, etc.

  Node: Create a Company (if customer doesn’t exist)

  Node: Create a Service Request

  Node: Slack / Email → notify dispatcher.

  Generate a PDF report nightly for completed service requests

  Trigger: Cron (daily 02:00)

  Node: List Service Requests (filter status = completed, updatedYesterday)

  Loop: Generate Report → store in S3 / email to customer.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [mfr API Documentation and Auth](https://documenter.getpostman.com/view/3999268/TVYCAzpK#intro)

ai_documentation_summary:
  {"purpose":"Provides access to mfr Field Service Management from n8n workflows to create, schedule and track service requests, companies, assets, appointments, technicians, reports and related documents.","capabilities":["Get a Company","Create a Company","List Companies","Create a Service Request","Get a Service Request","List Service Requests","Delete a Service Request","Generate Report","Add Tags to Service Request","Remove Tag from Service Request"],"authentication":"Basic Auth (username/password)","commonUseCases":["Create a Service Request automatically when a support ticket is opened (integrate with Zendesk/Freshdesk)","Create a Company record if a customer doesn’t exist before creating service requests","Generate and export PDF reports for completed service requests on a schedule (Cron → List Service Requests → Generate Report → store/email)","Upload documents to service requests and add/remove tags for workflow automation","Schedule appointments and assign technicians, and react to real‑time mfr events via the Watch Events Trigger"],"limitations":[],"relatedNodes":["Zendesk","Freshdesk","Slack","Email","Cron"]}


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

updated_at: 2026-02-19 14:41:52
author_name: zachperigon
author_github_url: https://github.com/goperigon/n8n-nodes-perigon.git
npm_package_name: @goperigon/n8n-nodes-perigon
npm_version: 0.1.4
community_fetched_at: 2026-02-19T14:41:52.486Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "articles",
      "options": [
        {
          "name": "Article",
          "value": "articles",
          "description": "Search and filter news articles"
        },
        {
          "name": "Company",
          "value": "companies",
          "description": "Search for companies in the Perigon database"
        },
        {
          "name": "Journalist",
          "value": "journalists",
          "description": "Search journalists and reporters"
        },
        {
          "name": "Person",
          "value": "people",
          "description": "Search for public figures and newsworthy individuals"
        },
        {
          "name": "Source",
          "value": "sources",
          "description": "Search media sources and publications"
        },
        {
          "name": "Story",
          "value": "stories",
          "description": "Track evolving narratives and news story clusters"
        },
        {
          "name": "Summarize",
          "value": "summarize",
          "description": "Generate AI-powered summaries of search results"
        },
        {
          "name": "Topic",
          "value": "topics",
          "description": "Browse available topics"
        },
        {
          "name": "Wikipedia",
          "value": "wikipedia",
          "description": "Search Wikipedia articles"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search articles using keywords",
          "routing": {
            "request": {
              "url": "/articles/all",
              "method": "GET"
            }
          },
          "description": "Search articles using keyword queries with Boolean operators"
        },
        {
          "name": "Vector Search",
          "value": "vectorSearch",
          "action": "Search articles using vector similarity",
          "routing": {
            "request": {
              "url": "/vector/news/all",
              "method": "POST"
            }
          },
          "description": "Search articles using semantic similarity with natural language queries (best for LLM workflows)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "articles"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search news stories",
          "routing": {
            "request": {
              "url": "/stories/all",
              "method": "GET"
            }
          },
          "description": "Track evolving narratives and top news headlines with story clusters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stories"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search people",
          "routing": {
            "request": {
              "url": "/people/all",
              "method": "GET"
            }
          },
          "description": "Search for public figures, politicians, celebrities, and newsworthy individuals"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "people"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search sources",
          "routing": {
            "request": {
              "url": "/sources/all",
              "method": "GET"
            }
          },
          "description": "Search and filter 142,000+ media sources available via the Perigon API"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sources"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Get by ID",
          "value": "getById",
          "action": "Get journalist by ID",
          "routing": {
            "request": {
              "url": "=/journalists/{{$parameter.journalistId}}",
              "method": "GET"
            }
          },
          "description": "Find additional details on a journalist by their unique ID"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search journalists",
          "routing": {
            "request": {
              "url": "/journalists/all",
              "method": "GET"
            }
          },
          "description": "Search 230,000+ journalists from around the world"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "journalists"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search companies",
          "routing": {
            "request": {
              "url": "/companies/all",
              "method": "GET"
            }
          },
          "description": "Browse or search for companies Perigon tracks by name, domain, ticker, and more"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search topics",
          "routing": {
            "request": {
              "url": "/topics/all",
              "method": "GET"
            }
          },
          "description": "Search through all available topics in the Perigon database"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "topics"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search wikipedia using keywords",
          "routing": {
            "request": {
              "url": "/wikipedia/all",
              "method": "GET"
            }
          },
          "description": "Search Wikipedia articles using keyword queries with Boolean operators"
        },
        {
          "name": "Vector Search",
          "value": "vectorSearch",
          "action": "Search wikipedia using vector similarity",
          "routing": {
            "request": {
              "url": "/vector/wikipedia/all",
              "method": "POST"
            }
          },
          "description": "Search Wikipedia articles using semantic similarity with natural language queries (best for LLM workflows)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "wikipedia"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "summarize",
      "options": [
        {
          "name": "Summarize",
          "value": "summarize",
          "action": "Summarize search results",
          "routing": {
            "request": {
              "url": "/summarize",
              "method": "POST"
            }
          },
          "description": "Produce a concise AI-powered summary over articles matching your filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "summarize"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Search",
      "value": "search",
      "action": "Search articles using keywords",
      "routing": {
        "request": {
          "url": "/articles/all",
          "method": "GET"
        }
      },
      "description": "Search articles using keyword queries with Boolean operators"
    },
    {
      "name": "Vector Search",
      "value": "vectorSearch",
      "action": "Search articles using vector similarity",
      "routing": {
        "request": {
          "url": "/vector/news/all",
          "method": "POST"
        }
      },
      "description": "Search articles using semantic similarity with natural language queries (best for LLM workflows)"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search news stories",
      "routing": {
        "request": {
          "url": "/stories/all",
          "method": "GET"
        }
      },
      "description": "Track evolving narratives and top news headlines with story clusters"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search people",
      "routing": {
        "request": {
          "url": "/people/all",
          "method": "GET"
        }
      },
      "description": "Search for public figures, politicians, celebrities, and newsworthy individuals"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search sources",
      "routing": {
        "request": {
          "url": "/sources/all",
          "method": "GET"
        }
      },
      "description": "Search and filter 142,000+ media sources available via the Perigon API"
    },
    {
      "name": "Get by ID",
      "value": "getById",
      "action": "Get journalist by ID",
      "routing": {
        "request": {
          "url": "=/journalists/{{$parameter.journalistId}}",
          "method": "GET"
        }
      },
      "description": "Find additional details on a journalist by their unique ID"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search journalists",
      "routing": {
        "request": {
          "url": "/journalists/all",
          "method": "GET"
        }
      },
      "description": "Search 230,000+ journalists from around the world"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search companies",
      "routing": {
        "request": {
          "url": "/companies/all",
          "method": "GET"
        }
      },
      "description": "Browse or search for companies Perigon tracks by name, domain, ticker, and more"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search topics",
      "routing": {
        "request": {
          "url": "/topics/all",
          "method": "GET"
        }
      },
      "description": "Search through all available topics in the Perigon database"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search wikipedia using keywords",
      "routing": {
        "request": {
          "url": "/wikipedia/all",
          "method": "GET"
        }
      },
      "description": "Search Wikipedia articles using keyword queries with Boolean operators"
    },
    {
      "name": "Vector Search",
      "value": "vectorSearch",
      "action": "Search wikipedia using vector similarity",
      "routing": {
        "request": {
          "url": "/vector/wikipedia/all",
          "method": "POST"
        }
      },
      "description": "Search Wikipedia articles using semantic similarity with natural language queries (best for LLM workflows)"
    },
    {
      "name": "Summarize",
      "value": "summarize",
      "action": "Summarize search results",
      "routing": {
        "request": {
          "url": "/summarize",
          "method": "POST"
        }
      },
      "description": "Produce a concise AI-powered summary over articles matching your filters"
    }
  ]

npm_readme:
  # n8n-nodes-perigon

  This is the official n8n community node for the Perigon API. It provides comprehensive access to news intelligence APIs, including news articles, story clusters, companies, public figures, journalists, media sources, topics, Wikipedia data, and AI-powered summarization capabilities.

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

  [Perigon](https://www.perigon.io/) provides contextual news intelligence APIs trusted by leading organizations for real-time news monitoring, media analysis, and AI-powered insights.

  ## Installation

  Follow these steps to install this node in your n8n instance:

  1. Go to **Settings > Community Nodes**
  2. Select **Install Another Node**
  3. Enter `@goperigon/n8n-nodes-perigon`
  4. Click **Install**

  Alternatively, you can install it using npm:

  ```bash
  npm install @goperigon/n8n-nodes-perigon
  ```

  ## Documentation

  For complete documentation about the Perigon API and its capabilities, visit:

  - **[API Documentation](https://perigon.io/docs)** - Comprehensive guides and tutorials
  - **[API Reference](https://perigon.io/reference)** - Detailed endpoint documentation
  - **[Perigon Website](https://www.perigon.io/)** - Product information and use cases

  ## Credentials

  To use this node, you need a Perigon API key.

  ### Getting Your API Key

  1. Visit [Perigon's website](https://www.perigon.io)
  2. Sign up for an account or log in
  3. Navigate to your dashboard to retrieve your API key

  ### Adding Credentials to n8n

  1. In n8n, go to **Credentials > New Credential**
  2. Search for "Perigon API"
  3. Enter your API key
  4. Save the credential

  Your credentials will be securely stored and automatically used for all Perigon node operations.

  ## Resources and Operations

  The Perigon node supports the following resources:

  ### 📰 Article

  Search and filter news articles from over 140,000 sources worldwide with comprehensive filtering capabilities.

  **Operations:**

  - **Search**: Keyword-based article search with advanced Boolean operators (AND, OR, NOT)
  - **Vector Search**: Semantic similarity search using natural language queries (optimized for AI and LLM workflows)

  **Key Features:**

  - **Query Filtering**: Full Boolean operator support with exact phrase matching using quotes
  - **Content Filtering**: Search within article titles, descriptions, and full content
  - **Categorical Filtering**: Filter by categories (Tech, Business, Politics, etc.) and granular topics
  - **Geographic Filtering**: Filter by country, state, or city
  - **Temporal Filtering**: Date range filtering with `from` and `to` parameters
  - **Source Filtering**: Filter by specific publisher domains (supports wildcards)
  - **Language Support**: Multi-language article filtering
  - **Sorting Options**: Sort by date, relevance, publication date, refresh date, or add date
  - **Pagination**: Retrieve up to 1,000 results per page with 0-based pagination
  - **Result Count**: Optional total result count display

  **Common Use Cases:**

  - Real-time news monitoring and alerting
  - Media analysis and trend detection
  - Competitive intelligence gathering
  - Content aggregation for research
  - AI-powered news summarization pipelines

  ### 📚 Story

  Track evolving news narratives through automatically clustered headlines from multiple sources.

  **Operations:**

  - **Search**: Discover and monitor story clusters to understand how news narratives develop over time

  **Key Features:**

  - **Query Filtering**: Search within story names, summaries, and key points using Boolean operators
  - **Cluster Configuration**: Set minimum cluster size and required number of unique sources
  - **Categorical Filtering**: Filter by categories, countries, and topics
  - **Temporal Filtering**: Date range filtering to track story evolution
  - **Source Filtering**: Filter by specific publisher domains
  - **Sorting Options**: Sort by article count, creation date, relevance, total count, or last update
  - **Pagination**: Navigate through results with configurable page size
  - **Result Count**: Optional display of total matching stories

  **Common Use Cases:**

  - Breaking news monitoring and narrative tracking
  - Understanding media coverage patterns across sources
  - Crisis communications and reputation management
  - Competitive intelligence on industry developments
  - Research on how stories evolve in the media

  ### 🌐 Wikipedia

  Search and analyze Wikipedia articles with advanced filtering and semantic capabilities.

  **Operations:**

  - **Search**: Keyword-based Wikipedia search with Boolean operators
  - **Vector Search**: Semantic similarity search using natural language queries

  **Key Features:**

  - **Multi-Field Search**: Search across article queries, titles, summaries, full text, and references
  - **Category Filtering**: Filter by Wikipedia categories
  - **Wikidata Integration**: Filter by Wikidata entity IDs and instance types
  - **Popularity Metrics**: Filter by page view statistics (minimum and maximum)
  - **Wiki Project Filtering**: Filter by wiki codes (currently supports English Wikipedia - `enwiki`)
  - **Sorting Options**: Sort by relevance, creation date, or last update date
  - **Pagination**: Navigate results with configurable page size
  - **Pageview Statistics**: Option to include only pages with viewership data

  **Common Use Cases:**

  - Knowledge base enrichment and fact-checking
  - Entity disambiguation and research
  - Background information gathering for news stories
  - Educational content creation
  - Semantic search for related topics and concepts

  ### 👤 Person

  Search for public figures, politicians, celebrities, business leaders, and other newsworthy individuals.

  **Operations:**

  - **Search**: Discover people by name, occupation, or unique identifiers

  **Key Features:**

  - **Name Search**: Search by person name with full Boolean operator support and wildcards
  - **Occupation Filtering**: Filter by occupation label (e.g., "politician", "CEO", "actor") or Wikidata occupation IDs
  - **Wikidata Integration**: Filter by Wikidata entity IDs for precise identification
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Media monitoring for specific individuals
  - Building contact databases for PR and outreach
  - Research on public figures and their activities
  - Identifying experts and thought leaders in specific fields
  - Enriching CRM data with public figure information

  ### 🏢 Company

  Search and discover companies with detailed business information and filtering options.

  **Operations:**

  - **Search**: Find companies by name, domain, ticker symbol, industry, and various business attributes

  **Key Features:**

  - **Query Search**: Search across company names, alternative names, domains, and ticker symbols
  - **Name-Specific Search**: Direct filtering by company name with Boolean operator support
  - **Geographic Filtering**: Filter by headquarters country
  - **Domain Filtering**: Filter by company website domains
  - **Stock Market Data**: Filter by stock exchange (NASDAQ, NYSE, etc.) and ticker symbols
  - **Industry Classification**: Filter by industry and sector with Boolean operators
  - **Company Size**: Filter by employee count ranges
  - **Direct ID Lookup**: Filter by specific company IDs
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Competitive intelligence and market research
  - Lead generation and prospecting
  - Investment research and due diligence
  - Building company databases for sales and marketing
  - Monitoring industry trends and company developments

  ### ✍️ Journalist

  Search through over 230,000 journalists and reporters from around the world.

  **Operations:**

  - **Search**: Find journalists by name, publication, coverage area, or activity level
  - **Get by ID**: Retrieve comprehensive details about a specific journalist using their unique identifier

  **Key Features:**

  - **Query Search**: Search across journalist names, titles, and Twitter biographies with Boolean operators
  - **Name-Specific Search**: Direct filtering by journalist name
  - **Coverage Filtering**: Filter by categories (Tech, Business, Politics, etc.) and granular topics
  - **Geographic Focus**: Filter by countries they commonly cover in their reporting
  - **Publication Filtering**: Filter by publisher domains and news sources
  - **Activity Metrics**: Filter by monthly posting activity (minimum and maximum thresholds)
  - **Direct ID Lookup**: Find specific journalists by their unique IDs
  - **Result Count**: Optional display of total matching journalists
  - **Pagination**: Navigate results with configurable page size (up to 1,000 per page)

  **Common Use Cases:**

  - Building media lists and PR contact databases
  - Finding subject matter experts for interviews
  - Monitoring journalist coverage and beats
  - Analyzing media landscape and journalist activity
  - Targeted outreach for press releases and stories

  ### 📡 Source

  Discover and analyze over 140,000 media sources and publications worldwide.

  **Operations:**

  - **Search**: Search and filter news sources with comprehensive criteria

  **Key Features:**

  - **Name Search**: Search by source name with full Boolean operator support
  - **Domain Filtering**: Filter by publisher domains with wildcard support (e.g., `*.cnn.com`)
  - **Category Filtering**: Filter by primary content categories
  - **Geographic Filtering**: Filter by country coverage
  - **Traffic Metrics**: Filter by monthly visit ranges (minimum and maximum)
  - **Paywall Status**: Filter sources by paywall presence
  - **Source Groups**: Filter by predefined publisher bundles (e.g., "top100")
  - **Sorting Options**: Sort by relevance, global rank, monthly visits, or average monthly posts
  - **Result Count**: Optional display of total matching sources
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Building media monitoring source lists
  - Analyzing media landscape and publication reach
  - Identifying authoritative sources for specific topics
  - Filtering sources by audience size and engagement
  - Creating custom news feeds from trusted publications

  ### 🏷️ Topic

  Browse and discover topics available in the Perigon database for precise content filtering.

  **Operations:**

  - **Search**: Search through all available topics with hierarchical filtering

  **Key Features:**

  - **Name Search**: Search topics by exact name or partial text match
  - **Category Filtering**: Filter topics by broad article categories (Tech, Business, Politics, etc.)
  - **Subcategory Filtering**: Filter by specific subcategories for granular topic discovery
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Discovering available topics for content filtering
  - Understanding topic taxonomy and structure
  - Building topic-based content categorization systems
  - Exploring related topics within categories
  - Creating targeted news feeds by topic

  ### 🤖 Summarize

  Generate AI-powered summaries of news articles using state-of-the-art language models.

  **Operations:**

  - **Summarize**: Produce intelligent, concise summaries from articles matching your search criteria

  **Key Features:**

  - **Query Filtering**: Filter articles using Boolean operators before summarization
  - **Custom Prompts**: Provide detailed instructions (up to 2,048 characters) to guide summary generation
  - **Model Selection**: Choose from multiple leading AI models:
    - GPT-4.1, GPT-4.1 Mini, GPT-4.1 Nano
    - GPT-4o, GPT-4o Mini
    - Llama 3.3 70B Versatile
    - DeepSeek R1 Distill Llama 70B
  - **Article Limits**: Control the number of articles to include (max 100) and return
  - **Summarization Methods**:
    - **ARTICLES**: Include all matching articles
    - **CLUSTERS**: Select one representative article per story cluster
  - **Field Selection**: Choose which article fields to summarize (title, content, summary)
  - **Token Control**: Set maximum token limits for generated summaries
  - **Article Filtering**: Apply all standard filters (category, country, source, date range)

  **Common Use Cases:**

  - Automated news briefings and digests
  - Competitive intelligence reports
  - Market research summaries
  - Crisis monitoring and alerts
  - Content curation for newsletters
  - AI-powered research assistance

  ## Example Usage

  ### Search Recent Tech News

  1. Add the Perigon node to your workflow
  2. Select **Article** as the resource
  3. Select **Search** as the operation
  4. Enter your search query: `"artificial intelligence" AND technology`
  5. In Additional Options:
     - Category: `Tech`
     - From Date: `2024-01-01`
     - Size: `20`
  6. Run the workflow

  ### Find News Stories About Climate Change

  1. Add the Perigon node
  2. Select **Story** as the resource
  3. Select **Search** as the operation
  4. Enter query: `climate change`
  5. Set minimum unique sources: `3`
  6. Run the workflow

  ### Search for Journalists Covering Finance

  1. Add the Perigon node
  2. Select **Journalist** as the resource
  3. Select **Search** as the operation
  4. Enter query: `finance`
  5. In Additional Options:
     - Category: `Business,Finance`
     - Min Monthly Posts: `10`
  6. Run the workflow

  ### Semantic Search for Similar Articles (LLM Workflows)

  1. Add the Perigon node
  2. Select **Article** as the resource
  3. Select **Vector Search** as the operation
  4. Enter natural language query: `Articles about renewable energy innovations and their impact on climate policy`
  5. Set size to desired number of results
  6. Run the workflow

  ### Generate AI Summary of News

  1. Add the Perigon node
  2. Select **Summarize** as the resource
  3. Select **Summarize** as the operation
  4. Enter query: `electric vehicles`
  5. Customize the prompt field with your summary instructions
  6. In Additional Options:
     - Category: `Tech,Business`
     - Max Article Count: `20`
     - Model: `gpt-4.1`
  7. Run the workflow

  ### Search Companies by Industry

  1. Add the Perigon node
  2. Select **Company** as the resource
  3. Select **Search** as the operation
  4. Enter query: `Tesla OR Apple OR Microsoft`
  5. In Additional Options:
     - Industry: `Technology OR Auto Manufacturers`
     - Num Employees From: `1000`
  6. Run the workflow

  ### Find Journalist Contacts for PR Campaign

  1. Add the Perigon node
  2. Select **Journalist** as the resource
  3. Select **Search** as the operation
  4. Enter query: `technology reporter`
  5. In Additional Options:
     - Category: `Tech`
     - Min Monthly Posts: `5`
     - Source: `techcrunch.com,theverge.com,wired.com`
  6. Run the workflow

  ### Get Detailed Journalist Information

  1. Add the Perigon node
  2. Select **Journalist** as the resource
  3. Select **Get by ID** as the operation
  4. Enter the journalist ID (obtained from a previous search)
  5. Run the workflow to retrieve full profile details

  ## AI Agent Compatibility

  This node is compatible with n8n's AI agent functionality (`usableAsTool: true`), allowing it to be used as a tool within AI agent workflows. This enables:

  - Dynamic news retrieval based on agent decisions
  - Automated research and fact-checking
  - Context-aware content generation
  - Multi-step information gathering workflows

  ## Advanced Features

  ### Boolean Search Syntax

  Many search fields support advanced Boolean operators for precise querying:

  - **AND**: Both terms must be present (e.g., `climate AND policy`)
  - **OR**: Either term can be present (e.g., `Biden OR Trump`)
  - **NOT**: Exclude terms (e.g., `energy NOT fossil`)
  - **Wildcards**: Use `*` for multiple characters, `?` for single character (e.g., `climat*`, `wom?n`)
  - **Grouping**: Use parentheses to group terms (e.g., `(renewable OR clean) AND energy`)
  - **Exact Phrases**: Use double quotes for exact matching (e.g., `"climate change"`)

  **Example Complex Query:**

  ```
  ("artificial intelligence" OR AI OR "machine learning") AND (healthcare OR medical) NOT cryptocurrency
  ```

  ### Semantic Vector Search

  Both Article and Wikipedia resources support vector search for semantic similarity matching:

  - Use natural language queries instead of keywords
  - Find conceptually related content even without exact keyword matches
  - Ideal for AI/LLM workflows and exploratory research
  - Better results for complex, multi-faceted queries

  ## Resources

  - **[Perigon Website](https://www.perigon.io/)** - Product information and pricing
  - **[API Documentation](https://www.perigon.io/docs)** - Complete API guides
  - **[API Reference](https://www.perigon.io/reference)** - Endpoint documentation
  - **[n8n Documentation](https://docs.n8n.io/)** - Learn about n8n workflows
  - **[Community Nodes](https://docs.n8n.io/integrations/community-nodes/)** - n8n community node information

  ## Support

  For issues, questions, or feature requests:

  - **GitHub Issues**: [Report bugs or request features](https://github.com/goperigon/n8n-nodes-perigon/issues)
  - **Perigon Support**: Contact support@perigon.io
  - **n8n Community**: [Join the n8n community](https://community.n8n.io/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provide n8n workflow access to Perigon's news intelligence APIs for searching and analyzing news articles, story clusters, people, Wikipedia content, and other media intelligence, plus AI-powered summarization and semantic (vector) search.","capabilities":["Article: Search (keyword + advanced Boolean operators) and Vector Search (semantic similarity)","Article: Query, content, categorical, geographic, temporal, source, and language filtering; sorting and pagination","Story: Search story clusters, configure cluster size and unique source requirements, filtering, sorting and pagination","Wikipedia: Search and Vector Search across titles, summaries, full text and references with category, Wikidata, and pageview filters","Person (public figures): Search by name, occupation, or identifiers","Additional resources: access/search for companies, journalists, media sources, topics, and other Perigon resources (search/filter operations)","AI-powered summarization for news content (summarize articles/stories for downstream workflows)"],"authentication":"API key required (Perigon API key stored in n8n credentials)","commonUseCases":["Real-time news monitoring and alerting","Media analysis and trend detection","Competitive intelligence and industry monitoring","Content aggregation and research pipelines","AI-powered news summarization and LLM enrichment"],"limitations":["Pagination is 0-based and results per page can be up to 1,000","Wikipedia wiki-project filtering currently notes support for English Wikipedia (enwiki) only"],"relatedNodes":[]}


