The page goes in.
Only the signal
comes out.

Nav, ads, cookie walls and tracking are the noise of a web page. WellMarked drives them out and returns clean Markdown with typed metadata — about ~94% fewer tokens than raw HTML. One endpoint, one Bearer token, no credit multipliers.

Typed JSON, not scraped textPython & TypeScript SDKsNative MCP for agents
~94%Tokens saved vs. raw HTMLRolling 24-hour ratio of input to output tokens across live extractions.
1,000Free requests / monthForever. No credit card. A hard cap, so there is no overage to be surprised by.
$0.0035/reqPro overage rateFlat. No 1–9× credit multipliers. No token math.
6Official clientsPython · TypeScript · MCP · n8n · LangChain · LlamaIndex.

Strip the noise. Keep the signal.

Cookie banners, ads, nav, popups, related-article rails, newsletter modals. We send back the main content only, as clean Markdown, with typed metadata included.

What the URL actually returns
<div id="cookie-consent"> · 41 trackers
<nav class="site-header">
Understanding React Server Components
ad 728×90newsletter

React Server Components represent a fundamental shift in how we build applications — rendering on the server, streaming to the client…

<aside class="related-articles">

…without shipping the component code in the client bundle at all.

<script async src="gpt.js">
What WellMarked returns
# Understanding React Server Components

React Server Components represent a fundamental
shift in how we build applications — rendering on
the server, streaming to the client, without
shipping the component code in the client bundle.

## Streaming by default

- No client bundle cost
- Progressive HTML delivery
- Works with existing Suspense boundaries

[Read the RFC](/rfc/server-components)
Response shape
"metadata": {
  "title": "Understanding RSC",
  "author": null,
  "date": "2026-03-14",
  "url": "https://example.com/rsc",
  "retrieved_at": "2026-03-14T09:41:02Z"
},
"metrics": {
  "input_tokens": 18402,
  "output_tokens": 1104,
  "tokens_saved": 17298,
  "reduction_pct": 94.0
}

Illustrative values. To see the real thing — run a live extraction on any URL, and get the rendered Markdown, the complete JSON response body and the token count. No account required.

One call. Nothing to wire up.

A single HTTP POST with a Bearer token, or a typed SDK that wraps every endpoint with automatic job polling and typed errors. Both return the same shape.

curl -X POST https://api.wellmarked.io/extract \
  -H "Authorization: Bearer wm_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article", "format": "markdown"}'

The web-content layer for modern AI.

RAG pipelines

Reliable Markdown for vector ingestion. Predictable per-request pricing makes budget projection a spreadsheet formula rather than a guess.

AI agents

llms.txt-friendly, with polymorphic job polling and typed errors. A compact endpoint surface, fully programmable from a Bearer token alone.

No-code workflows

The official n8n community node ships every endpoint as a typed action. Submit-and-wait fans results out, one item per URL.

Research & monitoring

JS rendering for single-page apps. Robots-respecting crawl with truncation flags. retrieved_at gives you cache freshness for free.

More than a Markdown endpoint.

Pay-per-call without an account, live search that arrives already extracted, a native agent connector, and output your pipeline can ingest as-is.

No account
Point a crypto wallet at any extraction endpoint and pay $0.01 per unit — no signup, no key. A keyless request comes back with an x402 challenge — the HTTP 402 Payment Required handshake — and once you settle it in USDC on Base, the job runs. Unearned units are refunded.
Search
POST /search runs a live web search and returns each result page as clean Markdown — search and extraction in one call. Pro and up.
MCP
Claude Desktop, Cursor and Claude.ai connect to the hosted MCP server over OAuth, with no key to paste. Extract, search, bulk and crawl become native agent tools.
Output shape
One format parameter: markdown, html, links, typed json blocks, or embedding-ready chunks with token offsets.

One unit, one page. No multipliers, ever.

Start free, scale predictably. The same Bearer token works from your first request on Free to your millionth on Enterprise.

Free

For evaluation and side projects.

$0/mo

 

  • 1,000 requests / month
  • Hard cap — no overage charges
  • Standard extraction
  • Bulk extraction (up to 5 URLs/job)
Get started

Pro

For shipping production AI pipelines.

$29/mo

or $299/yr

  • 10,000 requests / month
  • JS rendering
  • Bulk extraction (up to 50 URLs/job)
  • Crawl up to 2,000 pages/job
  • Web search (POST /search)
  • $0.0035/req overage
Get started

Enterprise

For teams running at scale.

$199/mo

or $1,999/yr

  • 250,000 requests / month
  • Unlimited bulk extraction
  • Unlimited crawl pages
  • Unlimited team members
  • Priority request queue
  • $0.0012/req overage
Get started

What the bill actually looks like.

Each figure below is the vendor's published entry tier. The difference is not the headline number — it is whether one page costs one unit.

WellMarked compared with Firecrawl, Jina Reader and Diffbot on price and capability
CapabilityWellMarkedFirecrawlJina ReaderDiffbot
Entry paid price$29/mo$16/moToken top-ups (opaque)$299/mo
Pricing modelFlat per-requestCredits, 1–9× multipliersPer-token, shared across APIsCredits, 1–100×
Effective overage$0.0035/req on Pro$0.0020 Growth · $0.0012 Enterprise$0.009–$0.045/reqUnpredictable$0.0012/req (Startup)
Bulk requestsYes5/job Free · 50 Pro · 200 Growth · unlimited EnterpriseStd+ only ($83/mo)NoNo
Site crawlYes2k pages Pro · 10k Growth · unlimited EnterpriseStd+ onlyNoYes
Web search + extractYesPOST /search · 5 results Free · 50 GrowthNoYesNo
Pay-per-request, no accountYesx402 · $0.01/unit, USDC on BaseNoNoNo
Python + JS/TS SDKsYesBothPython onlyNo
n8n community nodeYesYesNoNo
Priority request queueYesEnterprise → Growth → Pro → FreeNoNoNo
JS renderingYesYesYesYes

Frequently asked.

How does your pricing actually compare to Firecrawl or Jina?

Flat per-request — one page is one unit. No credit multipliers, no token math. Pro covers 10,000 requests for $29/mo and any overage is $0.0035/req. The same 1,000-page workload runs about $3.50 here against roughly $9–$45 on Firecrawl depending on request type. The full comparison article has the worked arithmetic.

Do I have to install an SDK?

No — the API is one HTTP POST with a Bearer token. We publish official SDKs (pip install wellmarked, npm install wellmarked) that wrap every endpoint with typed responses, automatic job polling and typed errors. Use whichever you prefer.

Can I crawl a whole site?

Yes. POST /crawl does breadth-first traversal from a root URL, same-site only (eTLD+1), respecting robots.txt. Pro caps at depth 5 and 2,000 pages; Enterprise is unlimited. Only successfully-extracted pages count against your quota — timeouts, robots-disallowed and no-content responses are free.

What about JS-heavy single-page apps?

Pass render_js: true. We spin up Playwright, wait for hydration, then extract. Available on Pro and Enterprise, against the same per-request quota — no separate plan, no premium tier.

What happens if I hit my monthly quota?

On Free, requests return 429 with retry_after — a hard cap, so there are no surprise charges. On Pro, Growth and Enterprise, overages bill at $0.0035, $0.0020 and $0.0012 per request at the end of the month via Stripe.

Is there an n8n, Zapier or Make integration?

n8n today — n8n-nodes-wellmarked is an official community node on npm, with every endpoint exposed as a typed action. Zapier and Make are on the roadmap.

Don’t take the number on faith.

Paste a URL you already know and read what comes back — the Markdown, the JSON response body, and the token count against the raw HTML. No account, no key, no card.