Web pages your AI agent can trust, scored before it reads them.

Your agent finds out when a page is blocked, instead of reading a Cloudflare error as content.

npx @enconvert/mcp setup

Try a blocked site and see the score

Free while in beta. No card. 500 ops a month. See exactly why a page failed.

Loop: an AI agent reads a live web page through EnConvert and gets back a clean, honestly scored result.

Agents don't crash. They believe.

requests.get(url)Silent lie

GET /pricingJust a moment…Verify you are human
200 OK
Your agent

Their pricing page says: “Verify you are human.”

enconvert /v2/perceiveHonest verdict

GET /pricingJust a moment…Verify you are human
render_quality: 0.25is_blocked: true
Your agent

That page was blocked. Trying another source.

See the verdict before you sign up

Pick a page type and watch what your agent would receive.

A plain requests.get returns
HTTP 200 OK
<title>Just a moment...</title>
<h1>Verify you are human by completing the action below.</h1>
/v2/perceive returns
{
  "render_quality": 0.25,
  "is_blocked": true,
  "deductions": {"anti_bot_challenge": 0.6, "empty_body": 0.15},
  "billed": false
}

Proof, not logos

  • Claude
  • Cursor
  • Windsurf
  • n8n
  • Dify
  • ClawHub
Get API key

status.enconvert.com/changelog

Retire the duct tape

Five mismatched services held together with duct tape, beside one service on one cable.
The usual stack compared with EnConvert
JobThe usual stackEnConvert
PagesScraping API that never says when it's blockedEvery read scored, blocks flagged
FilesConversion SaaS that never heard of MCPPages and files, one key
RenderingHeadless fleet at 2amHandled for you
RAGChunking glueRAG-ready chunks in one call
Total5 bills, 5 silent failure modes1 bill, a receipt for every read

What is EnConvert?

EnConvert is a web reading API for AI agents that scores every page it returns: any URL to Markdown, JSON or a screenshot, with a 0 to 1 render_quality score and named deductions, so your agent knows when a page was blocked. It also reads PDF, Office, image and data files through 45 conversion routes.

URL

EnConvertrender_quality

  • Markdown
  • HTML
  • JSON
  • PNG
  • PDF

Seven endpoints, one key

EndpointYou sendYou get back
POST /v2/perceiveA URLMarkdown, JSON or a screenshot, scored 0 to 1
POST /v1/convertA fileThe file in another format
POST /v2/discoverA websiteIts URLs, ranked by what matters
POST /v2/lookupA company, product or personIts source pages
POST /v2/distillA long documentA faithful summary that fits your context window
POST /v2/ingestA URL or a fileRAG-ready JSONL chunks
POST /v2/watchPrivate betaA pageA webhook or email on every change

Your first honest read, in under a minute

  1. Install

    npx @enconvert/mcp setup
  2. Point it at our fixture

    https://fixtures.enconvert.com/hostile-spa
  3. Read the receipt

    "render_quality": 1.0

Start free. Scale when your agent does.

  • Founding

    $0

    500 ops a month

    • Convert, perceive, lookup, discover
    • render_quality on every read
    • No credit card
  • Indie

    $29/mo

    3,000 ops a month

    • 20 watchers
    • 45 conversion routes, one op per file
    • $5 extraction credit a month, rolls over
    • $0.02 per extra op, opt-in
    • Email support
  • Studio

    Most teams start here

    $99/mo

    15,000 ops a month

    • $15 AI credits a month, rolls over
    • Dedicated rendering pool
    • $0.02 per extra op, opt-in
    • Priority support
  • Production

    $299/mo

    50,000 ops a month

    • $40 AI credits a month, rolls over
    • 30-day artifact retention
    • $0.02 per extra op, opt-in
    • Named support contact

Running past 50,000 ops a month, or need custom retention and terms? Talk to us.

Frequently asked questions

What exactly does render_quality measure?

A 0.0 to 1.0 score of how faithfully the page rendered before we read it. Challenge pages, empty SPA shells, partial lazy-loads and interstitials all pull it down. A low score comes back with a warnings array naming what we detected, and the full output is still returned so you decide what to trust, which means a bad read can never quietly enter your agent's context unnoticed.

What happens when a page blocks you?

You get the truth: a low score, a warnings array naming what we detected, and no garbage passed off as content. Sometimes the web wins. The product guarantee is that you will know when it does, in the same response, not from a customer three days later.

Is this production-ready?

The seven v2 verbs are live and production-hardened: SSRF screening on every URL, honest failure contracts, and a public status page and changelog you can watch before you commit. We publish what breaks and when we fix it.

How is this different from Firecrawl or CloudConvert?

They're good tools on one side of the boundary: scraping APIs stop at pages, conversion APIs stop at files. Agents need both, so teams end up wiring two or three vendors together. EnConvert is one MCP server for both, with one bill, and it's the only layer that scores every read and refuses to pass off blocked pages as content.

Do I need a backend?

No. Public keys are domain-restricted, so they're safe to ship in client code. Secret keys exist for server-side work when you want them.

What we don't do

We don't solve CAPTCHAs, run residential proxies, or get around paywalls. When the fast fetch looks blocked or the page needs JavaScript, the render ladder retries in a real Chromium browser. If the page is still blocked you get is_blocked: true, a low render_quality score and the reason instead of page content, and you are not billed for it. robots.txt is honoured when you set respect_robots.

The web lies to your agent. EnConvert doesn't.

npx @enconvert/mcp setup