⚡ A2A Payments · Skyfire Native · Production Ready

Every URL, instantly
LLM-ready Markdown

Stop wasting tokens on HTML garbage. ContextZip strips ads, nav, and boilerplate — delivering only the content your AI agent actually needs. From $0.001/request.

# Extract clean Markdown from any URL
curl -X POST https://contextzip.com/v1/extract \
  -H "X-API-Key: YOUR_KEY" \
  -d '{"url":"https://techcrunch.com/article","mode":"clean"}'

↓ response in ~800ms

{
  "status": "success",
  "data": { "markdown": "# Headline

Clean content...", "tokens_saved": 84210 },
  "cost": 0.005, "cached": false
}
90%
Token reduction
<1s
Cached response
$0.001
Starting price
24h
Cache TTL
3
Extraction modes

From raw HTML to LLM-ready content
in one API call

No SDKs. No configuration. Just POST a URL and get back clean Markdown.

🔗
Step 01

Send the URL

POST any web URL to /v1/extract with your API key and desired extraction mode.

🌐
Step 02

Headless render

Our Playwright cluster fully renders the page — executing JavaScript, handling SPAs, and bypassing bot protection.

✂️
Step 03

AI extraction

Mozilla Readability isolates the main content. Custom cleaners strip ads, nav, footers, and cookie banners.

Step 04

Get Markdown

Clean, structured Markdown returned instantly. Result cached for 24h — subsequent requests cost nothing.

Calculate your token savings

See exactly how much you'll save per month compared to processing raw HTML with your LLM.

1050010,000
5k50,000200k
0%40%90%
Monthly estimate
Without ContextZip
ContextZip API cost
LLM cost with ContextZip
Total with ContextZip
saved per month · reduction

Simple, usage-based pricing

Pay only for fresh extractions. Cache hits are always free. No subscriptions. No minimums.

Summary
$0.001
per request
First 500 tokens of clean content
Ideal for quick previews
Lowest latency
Headless browser rendering
Raw
$0.003
per request
Full page as Markdown
Includes navigation & sidebars
Maximum content coverage
Headless browser rendering
Cached
$0
always free
Any mode, same URL within 24h
Sub-100ms response time
Shared cache across all users
No charge, no limits

Built for every AI workflow

From research agents to RAG pipelines — ContextZip fits any architecture that reads the web.

All use cases →

Up and running in 60 seconds

No SDKs to install. Works with curl, Python, JavaScript, or any HTTP client.

# 1. Get your API key from the admin panel
# 2. Make your first request

curl -X POST https://contextzip.com/v1/extract \
  -H "X-API-Key: czk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/article",
    "mode": "clean"
  }'

# Response
{
  "status": "success",
  "data": {
    "title": "Article Title",
    "markdown": "# Clean content...",
    "tokens_saved": 84210
  },
  "cached": false,
  "cost": 0.005
}
import requests

# Initialize client
CONTEXTZIP_KEY = "czk_your_key_here"
BASE_URL = "https://contextzip.com/v1"

def extract_markdown(url: str, mode: str = "clean") -> str:
    """Extract clean Markdown from any URL."""
    response = requests.post(
        f"{BASE_URL}/extract",
        headers={"X-API-Key": CONTEXTZIP_KEY},
        json={"url": url, "mode": mode},
        timeout=30
    )
    response.raise_for_status()
    data = response.json()
    return data["data"]["markdown"]

# Usage
content = extract_markdown("https://techcrunch.com/article")
print(f"Got {len(content)} chars of clean content")
// Works in Node.js, Deno, Bun, and browser
const CONTEXTZIP_KEY = "czk_your_key_here";

async function extractMarkdown(url, mode = "clean") {
  const res = await fetch("https://contextzip.com/v1/extract", {
    method: "POST",
    headers: {
      "X-API-Key": CONTEXTZIP_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ url, mode }),
  });

  if (!res.ok) throw new Error(`HTTP ${res.status}`);
  const { data } = await res.json();
  return data.markdown;
}

// Usage
const content = await extractMarkdown("https://example.com");
console.log(`Extracted ${content.length} chars`);
# OpenClaw tool definition — add to your agent config

tools:
  - name: read_url
    description: "Fetch and extract clean Markdown content from any URL.
      Use this when you need to read web pages, articles, or documentation."
    endpoint: https://contextzip.com/v1/extract
    method: POST
    headers:
      X-API-Key: ${CONTEXTZIP_API_KEY}
      Content-Type: application/json
    body_template:
      url: ${url}
      mode: "clean"
    response_path: data.markdown
    parameters:
      - name: url
        type: string
        description: "The URL to read"
        required: true

# Set env variable
export CONTEXTZIP_API_KEY="czk_your_key_here"