npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-querit

v0.1.1

Published

n8n community node for Querit web search and page content fetching

Readme

n8n-nodes-querit

An n8n community node for Querit. Search the live web and fetch clean page content from workflows or AI agents. The node is programmatic because Querit returns nested result arrays and application-level error codes that require explicit validation, normalization, and item linking.

  • One Querit node, marked usableAsTool: true
  • No runtime dependencies
  • One output item per normalized search/content result, with a paired empty summary when none are usable
  • Native n8n errors, Continue On Fail, and paired-item support

Installation · Credentials · Operations · Example workflow · Compatibility · Development · Publishing with provenance

Installation

Follow n8n's community node installation guide, and install:

n8n-nodes-querit

For local development, run npm run dev in this directory and open the n8n instance started by @n8n/node-cli.

Credentials

  1. Create a Querit account at Querit.ai and obtain an API key.
  2. In n8n, create a Querit API credential.
  3. Paste the key into the password-protected API Key field.
  4. Select Test. The test sends a minimal authenticated POST /v1/search request with count: 1.

The credential adds Authorization: Bearer <key> to Querit requests. n8n encrypts the value at rest. The node never logs credential values and redacts the configured key from remote error messages.

Operations

Search Web

Calls POST https://api.querit.ai/v1/search.

| Parameter | Required | Description | | ----------------- | -------- | ----------------------------------------------------------------------------------- | | Query | Yes | Search query, up to 1,000 characters | | Count | No | Maximum results, from 1 to 20; default 5 | | Chunks Per Result | No | Sentence-level excerpts per result, from 1 to 3; default 1 | | Countries | No | Country targeting from Querit's supported list | | Exclude Domains | No | Comma-separated domain blacklist | | Include Content | No | Requests sentence-level excerpts; default false | | Include Domains | No | Comma-separated domain whitelist | | Languages | No | Language filters from Querit's supported list | | Time Range | No | Relative range (d7, w2, m3, y1) or inclusive YYYY-MM-DDtoYYYY-MM-DD range |

The node validates Querit's nested payload, keeps the exact search_id even when it exceeds JavaScript's safe integer range, accepts only HTTP(S) result URLs, removes URL fragments, and deduplicates normalized URLs. Each result becomes one n8n item with query, title, url, snippet, sentences, optional source fields, searchId, and server timing when available. If a successful response contains no usable result URLs, the node emits one paired { query, results: [] } summary instead of dropping the input item.

Fetch Content

Calls POST https://api.querit.ai/v1/contents.

| Parameter | Required | Description | | ---------------- | -------- | ------------------------------------------------------------------------- | | URLs | Yes | One to 10 unique HTTP(S) URLs; embedded URL credentials are rejected | | Format | No | HTML, Markdown (default), or Text | | Crawl Timeout | No | Per-page timeout from 1 to 60 seconds; default 10 | | Include Metadata | No | Includes page title, publication time, site name, and icon when available |

Each returned page becomes one n8n item with its id, normalized url, content, status, optional metadata, searchId, format, and server timing. Querit status records that do not have a matching content result are also emitted as items, so failed crawls are not silently discarded. If a successful response has neither usable results nor statuses, the node emits one paired { urls, items: [] } summary.

Error handling and security

  • HTTP failures and Querit responses where error_code is present and not 200 become NodeApiError instances.
  • Invalid inputs, unsupported URL schemes, malformed user parameters, and unknown operations become NodeOperationError instances.
  • Malformed JSON and structurally invalid successful payloads fail explicitly.
  • When Continue On Fail is enabled, the node returns a paired error item instead of stopping the workflow.
  • Every emitted item has pairedItem pointing to its source input item.
  • Authentication is restricted to api.querit.ai; credentials are not forwarded across redirects.
  • The package does not access environment variables or the file system.

Web pages and search snippets are untrusted external data. If an AI agent uses this node as a tool, instruct the agent to treat returned content as data, never as instructions, and to cite returned URLs.

Example workflow

Import examples/querit-search-and-fetch.workflow.json into n8n. Select your Querit API credential on both Querit nodes, then run either branch.

Compatibility

  • Node.js 22.22.x
  • n8n / n8n-workflow 2.16.0 or later
  • Developed and type-checked against n8n-workflow 2.35.3

peerDependencies declares n8n-workflow: "*" on purpose so the host n8n installation resolves the version it already ships. npm therefore does not enforce the 2.16.0 floor; it is the version that first provides the request options this node relies on.

The package intentionally targets supported Node 22 rather than untested newer Node majors.

Development

npm ci --ignore-scripts
npm run format:check
npm run check
npm run lint
npm test
npm run build
npm run pack

| Script | Purpose | | ---------------------- | ----------------------------------------------------------------------------------- | | npm run format:check | Prettier check that CI enforces; npm run format rewrites the files | | npm run check | Strict TypeScript check for source and tests | | npm run lint | Official strict n8n-node lint checks | | npm test | Pure helper and practical node behavior tests | | npm run build | Build nodes, credentials, metadata, and icons with n8n-node | | npm run dev | Start n8n with hot reload | | npm run scan | Scan the published npm package with @n8n/scan-community-package | | npm run pack | Build and inspect the npm tarball without publishing | | npm run release | Create the version commit/tag locally, or publish with provenance in GitHub Actions |

The n8n development toolchain does not require transitive dependency lifecycle scripts, so installs use npm ci --ignore-scripts. The official community scanner downloads from npm; it cannot scan an unpublished local package. Run npm run scan after the version is visible in the npm registry.

Publishing with provenance

The repository-root n8n-querit-publish.yml workflow publishes tags matching n8n-nodes-querit@* with npm provenance and an OIDC identity; no npm token is required.

One-time npm trusted publisher setup

After the npm package exists, open its Settings → Trusted Publishers, choose GitHub Actions, and enter:

  • Repository owner: querit-ai
  • Repository name: querit-plugins
  • Workflow filename: n8n-querit-publish.yml
  • Environment: leave blank

Grant the workflow only contents: read and id-token: write. Do not add an NPM_TOKEN when trusted publishing is enabled.

To release:

npm run release

The configured tag format is n8n-nodes-querit@<version>. Pushing that tag triggers the publish workflow, which installs with npm ci --ignore-scripts, runs the official lint/build release path, and calls npm publish with provenance enabled.

Resources

License

MIT