Skip to content
cccskills
FreePublished on GitHub

9router-web-fetch

Extract webpage content from a URL through 9Router and receive Markdown, plain text, or HTML. Choose among supported extraction services, limit output length, or use a fallback chain that tries another provider when needed.

OriginalShow the original description

Fetch URL → markdown / text / HTML via 9Router /v1/web/fetch using Ollama Cloud / Firecrawl / Jina Reader / Tavily Extract / Exa Contents. Use when the user wants to scrape a webpage, extract URL content, read article, or convert a URL to markdown.

See how to install

Good for

  • Convert a webpage to Markdown
  • Extract article content as plain text
  • Limit extracted content to a chosen character count
  • Try another extraction provider automatically when needed

Files included (1)

  • SKILL.md3.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

9Router — Web Fetch

Requires NINEROUTER_URL (and NINEROUTER_KEY if auth enabled). See https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md for setup.

Discover

curl $NINEROUTER_URL/v1/models/web | jq '.data[] | select(.kind=="webFetch") | .id'
# Per-provider params
curl "$NINEROUTER_URL/v1/models/info?id=firecrawl/fetch"

IDs end in /fetch (e.g. firecrawl/fetch, jina/fetch). fetch-combo chains providers with auto-fallback.

Endpoint

POST $NINEROUTER_URL/v1/web/fetch

FieldRequiredNotes
model (or provider)yesfrom /v1/models/web (e.g. firecrawl or jina-reader)
urlyesURL to extract
formatnomarkdown (default) / text / html
max_charactersnotruncate output

Examples

Jina Reader

curl -X POST $NINEROUTER_URL/v1/web/fetch \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"jina-reader","url":"https://9router.com","format":"markdown"}'

Exa

curl -X POST $NINEROUTER_URL/v1/web/fetch \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"exa","url":"https://example.com","format":"markdown","max_characters":0}'

Firecrawl

curl -X POST $NINEROUTER_URL/v1/web/fetch \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"firecrawl","url":"https://example.com","format":"markdown","max_characters":0}'

Tavily

curl -X POST $NINEROUTER_URL/v1/web/fetch \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"tavily","url":"https://example.com","format":"markdown","max_characters":0}'

Ollama Cloud

Uses the API key from the existing ollama connection.

curl -X POST $NINEROUTER_URL/v1/web/fetch \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"ollama","url":"https://example.com","format":"markdown"}'

JS:

const r = await fetch(`${process.env.NINEROUTER_URL}/v1/web/fetch`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.NINEROUTER_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ model: "fetch-combo", url: "https://example.com", format: "markdown", max_characters: 5000 }),
});
const { data } = await r.json();
console.log(data.title, data.content.length);

Response shape

{
  "provider": "jina-reader",
  "url": "...",
  "title": "...",
  "content": { "format": "markdown", "text": "...", "length": 1234 },
  "links": ["https://example.com/related"],
  "metadata": { "author": null, "published_at": null, "language": null },
  "usage": { "fetch_cost_usd": 0 },
  "metrics": { "response_time_ms": 850, "upstream_latency_ms": 700 }
}

links is included when the upstream provider returns discovered page links (currently Ollama Cloud).

Provider quirks

ProviderAuthBest for
firecrawlBearerJS-rendered pages, format=markdown/html
jina-readerBearer (optional)Free tier (~1M chars/mo); fastest plain markdown
tavilyBearerBulk extract; returns raw_content
exax-api-keyPre-indexed pages; fast text extraction
ollamaBearerMarkdown plus page title and discovered links; uses the Ollama Cloud key

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

9router

FreeSummary

Set up access to 9Router, a shared gateway for multiple AI providers, and discover available models. Find the relevant capability skills for chat, images, speech, embeddings, web search, and webpage retrieval.

  • Configure a local or remote 9Router connection
  • Check available models by capability
  • Find instructions for image or speech tasks
decolua/9router31.1KUpdated Oct 15, 2026

9router-chat

FreeSummary

Ask AI questions, generate code, and summarize text through 9Router using OpenAI or Anthropic request formats. Receive responses incrementally with streaming, and use provider combinations that automatically try another provider when needed.

  • Ask an AI model questions through 9Router
  • Generate code from written instructions
  • Summarize text with a selected model
decolua/9router31.1KUpdated Oct 15, 2026

Turn text into embeddings, numeric representations of meaning, through 9Router. Choose a model and process individual texts or batches to prepare data for meaning-based search, similarity comparisons, or RAG systems that retrieve reference material.

  • Preparing text vectors for meaning-based search
  • Generating embeddings for text similarity comparisons
  • Batch-processing reference passages for RAG
decolua/9router31.1KUpdated Oct 15, 2026

9router-image

FreeSummary

Generate images from written descriptions through 9Router using a choice of image models. Check each model’s supported settings, request an image, and receive a URL, encoded image data, or image bytes for saving to a file.

  • Creating a landscape image from a written description
  • Checking supported image sizes and quality settings
  • Saving generated images as files
decolua/9router31.1KUpdated Oct 15, 2026

9router-stt

FreeSummary

Transcribe audio files through 9Router using models from providers such as OpenAI, Groq, and Deepgram. Receive plain text, structured results with timestamps, or SRT and VTT subtitles, depending on the selected model’s support.

  • Transcribing recorded meetings or interviews
  • Creating SRT or VTT subtitles from audio
  • Getting transcriptions with timestamps
decolua/9router31.1KUpdated Oct 15, 2026

9router-tts

FreeSummary

Convert written text into speech through 9Router, choosing from multiple voice providers. Check available models and voices, then generate MP3 audio for narration, voiceovers, or reading text aloud.

  • Creating narration from a script
  • Turning written text into spoken audio
  • Checking available voices before generating speech
decolua/9router31.1KUpdated Oct 15, 2026

See all skills by decolua

Report a problem with this skill