Back to Nodes

Scraper - UpRock Crawler

Last updated May 27, 2026

n8n community node for crawling URLs, fetching rendered content, running regional sweeps, and researching the web through UpRock.

224 Weekly Downloads
782 Monthly Downloads

Included Nodes

Scraper - UpRock Crawler

Description

@uprock-ai/n8n-nodes-uprock

This is an n8n community node package for UpRock. It provides the UpRock Crawler node for crawling URLs, fetching rendered content, and researching the web in n8n workflows.

n8n is a fair-code licensed workflow automation platform.

  • Installation
  • Releasing
  • Use The UpRock Node In Your Own n8n Instance
  • Operations
  • Credentials
  • Usage
  • Compatibility
  • Resources
  • Installation

    Install the package named @uprock-ai/n8n-nodes-uprock in a self-hosted n8n instance. n8n Cloud doesn’t load unverified npm community node packages, so run this node on self-hosted n8n.

    You can install community nodes from the n8n UI when your instance supports it:

    1. Go to Settings > Community Nodes.
    2. Select Install.
    3. Enter @uprock-ai/n8n-nodes-uprock.
    4. Restart n8n if your deployment doesn’t reload community packages automatically.

    For command-line and production deployment patterns, use the runbooks below.

    Releasing

    npm publishing is automated from GitHub Releases through .github/workflows/publish.yml.

    For n8n verification, npm publishes must come from GitHub Actions with provenance. The recommended setup is npm Trusted Publishers, which lets GitHub Actions publish without storing a long-lived npm token.

    One-time setup:

    1. Open the package settings on npm.
    2. Under Publish access > Trusted Publishers, add a GitHub Actions publisher.
    3. Set the repository owner to uprockcom.
    4. Set the repository name to n8n-nodes-uprock.
    5. Set the workflow name to publish.yml.

    If you prefer token-based publishing, add an NPM_TOKEN repository secret with publish access to the @uprock-ai/n8n-nodes-uprock package on npm. The workflow still publishes with provenance in that mode.

    Release flow:

    1. Make sure gh is authenticated and your local main matches origin/main.
    2. Preview the next release with npm run release:dry-run.
    3. Create the release with npm run release.
    4. The script fetches the latest semver tag, bumps the package patch version by default, updates package-lock.json and CHANGELOG.md, commits chore(release): vX.Y.Z, pushes main and the new tag, and creates the GitHub Release.
    5. GitHub Actions installs dependencies, checks that the tag matches package.json, runs npm run verify:static, builds the package, performs an npm dry run, and then publishes it to npm with provenance.

    Stable GitHub Releases publish to npm with the latest dist-tag. GitHub prereleases publish with the next dist-tag.

    Use npm run release -- minor or npm run release -- major when you need a larger semver bump.
    Use ./scripts/release-version.sh --prerelease if you need the GitHub Release marked as a prerelease.

    Use The UpRock Node In Your Own n8n Instance

    These instructions are intended for DevOps teams running self-hosted n8n. They assume the npm package name is @uprock-ai/n8n-nodes-uprock and the node display name is UpRock Crawler.

    Prerequisites

  • Self-hosted n8n with community packages enabled. Keep N8NCOMMUNITYPACKAGES_ENABLED=true explicit in Docker, Kubernetes, and systemd configs.
  • Owner or admin access to install community nodes.
  • Network egress from n8n to https://mcp.uprock.ai.
  • An UpRock MCP API key UUID for the n8n credential.
  • The same package version installed on every n8n process that can execute workflows. In queue mode, install it on the main, webhook, and worker containers or hosts.
  • Docker

    The safest Docker setup is to persist n8n’s user data directory, because n8n loads community packages from disk at startup. Persist /home/node/.n8n, or at minimum /home/node/.n8n/nodes.

    Example Docker Compose service:

    services:
      n8n:
        image: n8nio/n8n:latest
        container_name: n8n
        ports:
          - '5678:5678'
        environment:
          N8NCOMMUNITYPACKAGES_ENABLED: 'true'
          GENERIC_TIMEZONE: 'UTC'
          TZ: 'UTC'
        volumes:
          - n8n_data:/home/node/.n8n

    volumes: n8n_data:

    Use a pinned n8n image tag instead of latest for production rollouts.

    Install the package inside the running container:

    docker exec -it -u node n8n sh
    mkdir -p ~/.n8n/nodes
    cd ~/.n8n/nodes
    npm install @uprock-ai/n8n-nodes-uprock
    exit
    docker restart n8n
    

    If your Compose service name is n8n but the container name is different, use:

    docker compose exec -u node n8n sh
    

    Upgrade or pin a specific package version by replacing with the release you want:

    docker exec -it -u node n8n sh
    cd ~/.n8n/nodes
    npm install @uprock-ai/n8n-nodes-uprock@
    exit
    docker restart n8n
    

    For blue/green, rolling, or queue-mode deployments, bake the package installation into the image or run the install step against the persistent n8n volume before starting the new containers. Do not deploy one worker version with the package and another without it.

    Without Docker

    Install the package as the same OS user that runs n8n. Do not install it as root unless n8n itself runs as root.

    For an n8n service user named n8n:

    sudo -u n8n sh -lc 'mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes && npm install @uprock-ai/n8n-nodes-uprock'
    sudo systemctl restart n8n
    

    For a local npm-based n8n install running as your current user:

    mkdir -p ~/.n8n/nodes
    cd ~/.n8n/nodes
    npm install @uprock-ai/n8n-nodes-uprock
    n8n start
    

    Upgrade or pin a package version by replacing with the release you want:

    cd ~/.n8n/nodes
    npm install @uprock-ai/n8n-nodes-uprock@
    

    Restart every n8n process after installation or upgrade so n8n reloads the community package.

    Install An Unreleased Build From This Repository

    Use this when testing a commit before it is published to npm:

    npm ci
    npm run build
    npm pack
    

    Copy the generated uprock-ai-n8n-nodes-uprock-.tgz to the n8n host or container, then install it from the same ~/.n8n/nodes directory:

    cd ~/.n8n/nodes
    npm install /path/to/uprock-ai-n8n-nodes-uprock-.tgz
    

    Restart n8n after installing the tarball.

    Configure The UpRock Credential

    After n8n restarts:

    1. Open n8n and create an UpRock Crawler API credential.
    2. Paste only the UpRock API key UUID into API Key UUID.
    3. Leave MCP Base URL as https://mcp.uprock.ai unless you are targeting a staging or local MCP endpoint.
    4. Add an UpRock Crawler node to a workflow and choose a command.

    Operational Notes

  • Keep the installed package version pinned in production change tickets and deployment manifests.
  • Persist /home/node/.n8n/nodes for Docker deployments, otherwise package files can disappear when containers are recreated.
  • If n8n reports missing community packages after a container replacement, verify that the persisted volume contains ~/.n8n/nodes/node_modules/@uprock-ai/n8n-nodes-uprock.
  • Community packages execute inside the n8n runtime. Review and approve upgrades the same way you handle other workflow runtime dependencies.
  • n8n’s official references: community node installation, manual npm installation, and community node troubleshooting.
  • Operations

    The UpRock Crawler node exposes one Command selector. Most commands map directly to UpRock MCP tools, while fetch is a convenience command that chains MCP calls:

  • fetch: Crawl a URL, then return both Markdown and HTML content
  • crawl_fetch: Fetch a URL through the UpRock crawl network
  • resource_fetch: Fetch full content for a crawl:// or sweep:// resource URI
  • web_research: Search the web across search engines and geographic perspectives
  • The sweep command is currently hidden by a package feature flag while it is being fixed. It will be re-enabled in a future release once it is stable again.

    Command Parameters

    fetch

  • Required: url
  • Optional: method, body, country, deviceType, timeoutSeconds, retries
  • Returns both Markdown and HTML content plus crawl metadata
  • Internally runs crawlfetch, then resourcefetch for returned Markdown and HTML resources
  • crawl_fetch

  • Required: url
  • Optional: method, body, country, deviceType, timeoutSeconds, retries
  • Default method: CRAWLFULLPAGE
  • body is used only with POST and PUT
  • resource_fetch

  • Required: uri
  • Accepts resource URIs starting with crawl:// or sweep://
  • web_research

  • Required: query
  • Optional: maxresults, numsources, suggested_countries
  • Defaults: maxresults is 12, numsources is 5
  • suggested_countries controls where the search runs from, not what the query is about
  • Credentials

    Create an UpRock Crawler API credential in n8n.

    Required field:

  • API Key UUID: Your UpRock MCP API key UUID
  • Advanced field:

  • MCP Base URL: Defaults to https://mcp.uprock.ai; change only for local or staging MCP endpoints
  • The node builds the MCP URL internally as:

    https://mcp.uprock.ai/{apiKey}/mcp
    

    You do not need to paste the full MCP URL into the node.

    Credential flow:

    1. Copy only the UUID part of your UpRock MCP URL.
    2. Paste that UUID into API Key UUID.
    3. Leave MCP Base URL unchanged unless you are testing a local or staging endpoint.
    4. The node combines the base URL and UUID internally when it calls MCP.

    Usage

    Use crawlfetch to fetch a page. The default method is CRAWLFULL_PAGE, which renders JavaScript and is the most reliable option for modern sites. Use GET when you know the target is a static page or API endpoint.

    Use fetch when you want the crawler output and the full page content in one node. It returns crawl metadata, summary, resource URIs, Markdown text, and HTML text.

    Use resource_fetch when a prior command returns a crawl:// or sweep:// resource URI. Markdown and HTML resources return text content, while screenshot-like resources return resource metadata and binary-safe fields.

    When the sweep feature flag is re-enabled in a future release, the command will again run regional reliability checks. The default regions are NA, EU, and APAC, and checks run concurrently.

    Use web_research for search. Put geographic terms in the query only when they are the subject of the search. Use Suggested Countries when you want search results from a particular geographic perspective.

    Common Workflows

    Fetch a URL:

    1. Add an UpRock Crawler node.
    2. Select fetch.
    3. Set url.
    4. Read Markdown from markdown.text and HTML from html.text.

    Fetch returned resources:

    1. Run crawl_fetch or, when the feature returns, sweep.
    2. Copy a returned crawl:// or sweep:// URI into a second UpRock Crawler node.
    3. Select resource_fetch.
    4. Read text for markdown or HTML resources, or use the returned metadata fields for screenshot-like resources.

    Run a regional sweep after the feature flag is re-enabled in a future release:

    1. Select sweep.
    2. Set url.
    3. Keep the default regions NA, EU, and APAC, or choose the regions to test from.
    4. Use report_url, jobs, failedJobErrors, and screenshotResourceUris from the output.

    Search from a geographic perspective:

    1. Select web_research.
    2. Put the subject in query.
    3. Use suggested_countries only to control where the search runs from.
    4. Read normalized search rows from results.

    Compatibility

    Compatible with n8n community node packages.

    Resources

  • n8n community nodes documentation
  • UpRock