← Back to Skills Marketplace
roaycl

Fetch Url

by 长安 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
190
Downloads
0
Stars
4
Active Installs
1
Versions
Install in OpenClaw
/install fetch-url
Description
Fetch raw HTTP response bodies from one or more URLs with optional custom headers and timeout, supporting JSON, XML, RSS, CSV, plain text, and files.
README (SKILL.md)

Fetch URL

Fetch raw HTTP responses from URLs. Supports multiple URLs and custom headers.

Usage

# Single URL
node {baseDir}/scripts/fetch.mjs "https://api.example.com/data"

# Multiple URLs
node {baseDir}/scripts/fetch.mjs '["https://api.example.com/data1", "https://api.example.com/data2"]'

# With custom headers (per-URL)
node {baseDir}/scripts/fetch.mjs '["https://api.example.com/json", "https://api.example.com/text"]' '[{"accept":"application/json"}, {"accept":"text/plain"}]'

# With timeout
node {baseDir}/scripts/fetch.mjs "https://api.example.com/data" --timeout 60000

Examples

JSON API

# GitHub API - get repository info
node {baseDir}/scripts/fetch.mjs "https://api.github.com/repos/microsoft/vscode" '{"accept":"application/json","user-agent":"Mozilla/5.0"}'

XML

# SOAP service or XML endpoint
node {baseDir}/scripts/fetch.mjs "https://api.example.com/soap" '{"accept":"application/xml"}'

# Sitemap
node {baseDir}/scripts/fetch.mjs "https://example.com/sitemap.xml"

RSS / Atom Feed

# RSS 2.0 feed
node {baseDir}/scripts/fetch.mjs "https://example.com/rss.xml" '{"accept":"application/rss+xml"}'

# Atom feed
node {baseDir}/scripts/fetch.mjs "https://example.com/atom.xml" '{"accept":"application/atom+xml"}'

CSV / Plain Text

# CSV data
node {baseDir}/scripts/fetch.mjs "https://example.com/data.csv" '{"accept":"text/csv"}'

# Plain text
node {baseDir}/scripts/fetch.mjs "https://example.com/robots.txt" '{"accept":"text/plain"}'

Multiple Formats

# Fetch JSON and XML in parallel
node {baseDir}/scripts/fetch.mjs '["https://api.example.com/data.json", "https://api.example.com/data.xml"]' '[{"accept":"application/json"}, {"accept":"application/xml"}]'

Options

  • urls_json: JSON array of URLs or a single URL string
  • headers_json: Optional JSON array of headers objects (same length as urls)
  • --timeout \x3Cms>: Request timeout in milliseconds (default: 30000)

Notes:

  • Returns raw HTTP response body
  • For multiple URLs, returns JSON array of results
  • Node.js 18+ required (native fetch)
Usage Guidance
This skill appears to do what it says (fetch HTTP responses). Before installing: ensure the runtime provides Node.js 18+ and that the dependency (user-agents) is installed or vendored, because there is no install step included; verify the registry metadata correctly lists 'node' as a required binary. Most importantly, treat input URLs as sensitive: the skill will fetch arbitrary targets you pass it — avoid giving untrusted inputs that could point to internal services (localhost, cloud metadata endpoints such as 169.254.169.254) or file:// URLs. If you plan to enable autonomous invocation, consider restricting which hosts/paths the skill is allowed to fetch or requiring user confirmation for remote URLs to reduce SSRF/data-exfiltration risk.
Capability Analysis
Type: OpenClaw Skill Name: fetch-url Version: 1.0.0 The skill is a standard HTTP client utility designed to fetch raw content (JSON, XML, etc.) from URLs. The implementation in `scripts/fetch.mjs` uses native Node.js fetch, supports custom headers, and includes a legitimate dependency (`user-agents`) to rotate User-Agent strings. No evidence of data exfiltration, malicious execution, or prompt injection was found; the code's behavior is entirely consistent with its documented purpose.
Capability Assessment
Purpose & Capability
The name/description match the included script: the skill fetches raw HTTP responses for one or more URLs with optional per-URL headers and timeout. Minor mismatch: SKILL.md metadata declares 'node' as a required binary, but the registry metadata lists no required binaries; package.json declares a dependency (user-agents) so Node.js and dependencies are required at runtime.
Instruction Scope
SKILL.md instructs the agent to run the included Node script which only performs network fetches and prints results. The instructions and script do not read environment variables or local files. However, the skill will fetch arbitrary URLs provided by the caller — that means it can access internal endpoints (localhost/169.254.169.254, internal APIs) and return their contents. This is expected for a fetch tool but is a privacy/SSRF risk if untrusted inputs are allowed.
Install Mechanism
There is no install spec (instruction-only), which is low risk, but the package.json/package-lock indicate an npm dependency (user-agents). No install step is provided to install node_modules; the runtime therefore requires Node.js 18+ and that dependencies be available in the environment. This operational gap (no declared required binary in registry, no install step) may cause runtime failures or lead integrators to install dependencies manually.
Credentials
The skill requests no environment variables, no credentials, and does not access config paths. That is proportionate to its purpose.
Persistence & Privilege
always is false and the skill does not request persistent system or agent-wide modifications. It does not modify other skills or system configuration.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fetch-url
  3. After installation, invoke the skill by name or use /fetch-url
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the fetch-url skill. - Fetches raw HTTP responses from URLs, supporting JSON, XML, RSS/Atom, CSV, plain text, files, and downloads. - Allows fetching from multiple URLs in parallel and supports custom headers per URL. - Supports request timeout configuration. - Designed for non-HTML content; for HTML-to-markdown conversion, use fetch-webpage.
Metadata
Slug fetch-url
Version 1.0.0
License MIT-0
All-time Installs 4
Active Installs 4
Total Versions 1
Frequently Asked Questions

What is Fetch Url?

Fetch raw HTTP response bodies from one or more URLs with optional custom headers and timeout, supporting JSON, XML, RSS, CSV, plain text, and files. It is an AI Agent Skill for Claude Code / OpenClaw, with 190 downloads so far.

How do I install Fetch Url?

Run "/install fetch-url" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Fetch Url free?

Yes, Fetch Url is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Fetch Url support?

Fetch Url is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Fetch Url?

It is built and maintained by 长安 (@roaycl); the current version is v1.0.0.

💬 Comments