# How do I fetch web pages from a chosen country in n8n?

Install UpRock's n8n node (@uprock-ai/n8n-nodes-uprock), add your API key as an UpRock Crawler API credential, and use the node's "Crawl URL and Fetch Content" command to load a page on an opted-in device in the country you choose. The page's markdown comes back in markdown.text for the next node, and the same node can be handed to an n8n AI Agent as a tool.

Updated 29 Oct 2026. Web page: https://uprock.ai/integrations/n8n

## On this page

- [What the node does](#what-the-node-does)
- [Install it](#install-it)
- [Add your key](#add-your-key)
- [A workflow you can import](#a-workflow-you-can-import)
- [What comes out](#what-comes-out)
- [Using it with an AI Agent](#using-it-with-an-ai-agent)
- [FAQ](#faq)
- [Other use cases to explore](#explore)
- [Related articles](#related)
- [References](#references)
- [Get started](#get-started)

## What the node does

UpRock's community node (`@uprock-ai/n8n-nodes-uprock`, version 0.5.6 on 21 Oct 2026) shows up in n8n as **Scraper - UpRock Crawler** and calls UpRock's MCP server for you. Pick a command:

| Command | What it does | Main fields |
|---|---|---|
| Crawl URL and Fetch Content (`fetch`) | Loads a page on a device in the country you choose and returns its markdown and HTML | URL, Country, Device Type, Timeout Seconds, Retries |
| Crawl URL (`crawl_fetch`) | Loads the page and returns the summary and resource addresses only | the same |
| Fetch Resource URI (`resource_fetch`) | Reads a stored result in full | Resource URI (`crawl://` or `sweep://`) |
| Research Web Query (`web_research`) | Searches several engines from chosen countries | Query, Max Results, Suggested Countries. Use with care: when we tested on 21 Oct 2026 it returned empty or off-topic results from some countries |

## Install it

UpRock's node is a verified community node, so on n8n Cloud and self-hosted n8n you can install it from the canvas: open the nodes panel, search for UpRock, and install it from **More from the community** (as an owner or admin). On self-hosted n8n you can also go to **Settings → Community Nodes → Install** and enter `@uprock-ai/n8n-nodes-uprock`.

For a container, install it into n8n's nodes folder and restart:

```bash
docker exec -u node n8n sh -c 'mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes && npm install @uprock-ai/n8n-nodes-uprock'
docker restart n8n
```

## Add your key

Create an **UpRock Crawler API** credential. Paste your key (just the key, from uprock.ai/app/api-keys) into **API Key UUID** and leave **MCP Base URL (Advanced)** at `https://mcp.uprock.ai`.

## A workflow you can import

Two nodes: a manual trigger, and the UpRock node fetching example.com from Germany. Save it as a `.json` file and import it from the workflow menu, then pick your credential in the UpRock node:

```json
{
  "id": "uprockFetchDemo01",
  "name": "UpRock: fetch a page from Germany",
  "nodes": [
    {
      "id": "trigger",
      "name": "Run",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [0, 0],
      "parameters": {}
    },
    {
      "id": "uprock",
      "name": "UpRock Crawler",
      "type": "@uprock-ai/n8n-nodes-uprock.upRockCrawler",
      "typeVersion": 1,
      "position": [240, 0],
      "parameters": {
        "command": "fetch",
        "url": "https://example.com",
        "country": "DE"
      },
      "credentials": {
        "upRockCrawlerApi": { "id": "uprockCred01", "name": "UpRock" }
      }
    }
  ],
  "connections": {
    "Run": { "main": [[{ "node": "UpRock Crawler", "type": "main", "index": 0 }]] }
  },
  "settings": {}
}
```

Or from the command line, if your credential has the ID `uprockCred01`:

```bash
n8n import:workflow --input=uprock-fetch.json
n8n execute --id uprockFetchDemo01
```

(n8n 2 removed `n8n execute --file`; import first, then run by ID.)

## What comes out

"Crawl URL and Fetch Content" returns one item. These are the fields we got when we ran the workflow on 21 Oct 2026:

| Field | What's in it |
|---|---|
| `status` | `success` |
| `meta.title`, `meta.url`, `meta.content_type` | The page's title, final URL and type (`Example Domain`, `https://example.com`, `text/html`) |
| `markdown.text` | The page as markdown, ready for the next node |
| `html.text` | The rendered HTML |
| `resourceUris.markdown`, `resourceUris.html` | Addresses of the stored results, for Resource Fetch later |
| `crawl` | The raw response from UpRock's server |

In a following node, use `{{ $json.markdown.text }}` for the page text and `{{ $json.meta.title }}` for its title.

## Using it with an AI Agent

The node is marked as usable as a tool, so you can attach it to an **AI Agent** node and describe when to use it in the tool description, for example: "Fetch a web page as it looks in a given country, or when another fetch failed." If you'd rather give the agent all of UpRock's tools, n8n's built-in **MCP Client Tool** node can connect to `https://mcp.uprock.ai/mcp` with the HTTP Streamable transport and a Bearer credential holding your API key (or to `https://mcp.uprock.ai/<API_KEY>/mcp` with no credential).

We ran the workflow above on 21 Oct 2026 in n8n 2.44.5 (self-hosted, Node 24) with UpRock Crawler 0.5.6: we imported a credential and the workflow from the command line, ran `n8n execute --id`, and got `status: success`, the page title and its markdown back in under a second, since UpRock had fetched that page recently. We didn't test the MCP Client Tool route.

## FAQ

### Which command should I use?

For most workflows, use "Crawl URL and Fetch Content". It runs crawl_fetch and then reads the stored markdown and HTML for you, so the next node gets the page text in markdown.text. "Crawl URL" returns only the summary and resource addresses, for when you want to read them later with "Fetch Resource URI".

### Does it work on n8n Cloud?

Yes. n8n lists the UpRock node as verified (checked 27 Oct 2026), and verified community nodes install from the nodes panel on n8n Cloud as well as self-hosted n8n, by an instance owner or admin.

### Can an AI Agent use it?

Yes. The node is marked as usable as a tool, so you can attach it to an AI Agent node. n8n's built-in MCP Client Tool node can also connect to UpRock's MCP server directly, with the endpoint https://mcp.uprock.ai/mcp, the HTTP Streamable transport and a Bearer credential holding your API key (or the endpoint https://mcp.uprock.ai/<API_KEY>/mcp with no credential).

### How long does a fetch take?

In our test, about a second for a page UpRock had fetched recently. A fresh fetch usually takes 10 to 40 seconds; the node's Timeout Seconds setting allows up to 300.

### What does it cost?

One credit per page fetched, which is $0.50 per 1,000 pages by card or USDC and $0.40 with UPT, prepaid. A workflow that fetches 5,000 pages a day uses 5,000 credits a day.

## Other use cases to explore

- [Retry the pages a batch gives up on](https://uprock.ai/compare/scraperapi#where-a-batch-leaves-work-undone): poll a batch, keep what finished, and send the rest to a second network.
- [See a page as it looks in another country](https://uprock.ai/use-cases/page-from-another-country): one store page from five countries, with five prices, two languages and a cookie banner in one country only.
- [See what a country costs elsewhere](https://uprock.ai/compare/zenrows#what-a-page-costs-with-and-without-a-country): a provider where choosing a country means paying for premium proxies.
- [Search public video by moment](https://uprock.ai/video-semantic-search): find the second something is shown or said, across platforms.

## Related articles

- [How do I give Claude Code live web access with UpRock?](https://uprock.ai/integrations/claude-code.md): Add UpRock's MCP server to Claude Code with the key kept out of your repo, check it's connected, tell Claude when to use it, and know the output limits that matter for big pages.
- [How do I add UpRock to Cursor?](https://uprock.ai/integrations/cursor.md): Add UpRock's MCP server to Cursor with the key read from your environment, turn it on, pre-approve the fetch tools, add a rule for when to use it, and run it from Cursor's command-line agent.
- [How do I use UpRock as a LangChain tool?](https://uprock.ai/integrations/langchain.md): Load UpRock's MCP tools into LangChain in Python or JavaScript, call them directly or from an agent, and handle the result format, with code we ran against the live server.
- [How do I give a Vercel AI SDK app web access with UpRock?](https://uprock.ai/integrations/vercel-ai-sdk.md): Connect UpRock's MCP server with @ai-sdk/mcp, call its tools directly or let the model choose them in generateText, and avoid the timeout and key-logging traps, with code we ran against the live server.
- [How do I add UpRock to OpenAI's Codex CLI?](https://uprock.ai/integrations/codex.md): Add UpRock's MCP server to Codex with one command, keep the API key in an environment variable, raise the 60-second tool timeout, and add your own rules in AGENTS.md.
- [How do I give a CrewAI agent web access with UpRock?](https://uprock.ai/integrations/crewai.md): Load UpRock's MCP tools into CrewAI with MCPServerAdapter and the key in a header, why it beats the mcps field's 30-second limit, and how to read what the tools return, with tested code.
- [How do I give a Mastra agent web access with UpRock?](https://uprock.ai/integrations/mastra.md): Connect UpRock's MCP server with MCPClient from @mastra/mcp, raise its 60-second timeout, and call the tools directly or from an Agent, with tested code.
- [Integrations: all articles](https://uprock.ai/integrations.md)

## References

1. [UpRock n8n node on GitHub (uprockcom/n8n-nodes-uprock)](https://github.com/uprockcom/n8n-nodes-uprock), checked 29 Oct 2026
2. [n8n docs, Install verified community nodes](https://docs.n8n.io/integrations/community-nodes/installation/verified-install/), checked 27 Oct 2026
3. [@uprock-ai/n8n-nodes-uprock on npm](https://www.npmjs.com/package/@uprock-ai/n8n-nodes-uprock), checked 21 Oct 2026
4. [n8n docs, Install and manage community nodes](https://docs.n8n.io/integrations/community-nodes/installation-and-management/), checked 21 Oct 2026
5. [n8n docs, Manual installation of community nodes](https://docs.n8n.io/integrations/community-nodes/installation-and-management/manual-installation/), checked 21 Oct 2026
6. [n8n docs, CLI commands (import and execute)](https://docs.n8n.io/hosting/cli-commands/), checked 21 Oct 2026
7. [n8n docs, MCP Client Tool node](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/), checked 21 Oct 2026
8. [UpRock, setup for every agent](https://uprock.ai/agents.md), checked 21 Oct 2026
9. [UpRock, everything in one file (API, CLI, MCP, pricing)](https://uprock.ai/llms-full.txt), checked 21 Oct 2026

## Get started

Get an API key: https://uprock.ai/app/api-keys

Paste this into your agent:

```text
Set up UpRock for me: read https://uprock.ai/agents.md, connect the UpRock MCP server, and run one test crawl. Tell me what it costs before you spend anything.
```

Setup for every client (MCP, skill, CLI): https://uprock.ai/agents.md
