Free tool

URL to YAML

Paste a link. Get the page back as structured YAML — its H1, its meta description, every Open Graph tag, and the body text — instead of a wall of markup you have to parse yourself. No signup, no key.

Fetches the page server-side and extracts it. Usually under a second.

This entire tool is thirty-two lines of backend

No parser library, no scraping service. One endpoint fetches the page, turns the HTML into a node tree, and reads the values straight out of it by path — the Open Graph tags are collected by walking the head and keeping the meta elements whose property starts with og::

.arguments
   url:string
http.get:x:@.arguments/*/url
html2lambda:x:-/*/content
.result
   h1
   description
   body
   og
set-value:x:@.result/*/h1
   strings.join:x:@html2lambda/*/html/*/body/**/h1/[0,1]/**/#text
      .:" "
set-value:x:@.result/*/description
   get-value:x:"@html2lambda/*/html/*/head/*/meta/*/\\@name/=description/./*/\\@content"
set-value:x:@.result/*/body
   strings.join:x:@html2lambda/*/html/*/body/**/#text
      .:" "
for-each:x:@html2lambda/*/html/*/head/*/meta
   if
      strings.starts-with:x:"@.dp/#/*/\\@property"
         .:"og:"
      .lambda
         strings.replace:x:"@.dp/#/*/\\@property"
            .:"og:"
         unwrap:x:+/*/*/*
         add:x:@.result/*/og
            .
               .
                  name:x:@strings.replace
                  content:x:"@.dp/#/*/\\@content"
lambda2yaml:x:@.result/*
return:x:-

That is the whole thing. Describe an endpoint in a sentence, and the Hyperlambda Generator writes and deploys it — then it is a tool your own AI agents can call over MCP. Want the page as prose instead? URL to Markdown does that, with token counts. Want a whole site at once? Website to JSON. Run the platform yourself:

curl -fsSL https://hyperlambda.dev/docker-compose.yaml | docker compose -f - up

More free tools

Pulling a page apart into YAML is one of nine free tools here, each with the handful of backend lines that powers it printed on the page. See all of them — no signup on any of it.

Questions

What is this useful for?

Checking what a page actually exposes to crawlers and social networks. The Open Graph block is what Slack, X and LinkedIn read when someone pastes your link, and seeing it as a clean list is faster than hunting through view-source. It is also a convenient shape to hand a model, since the structure is already separated from the prose.

Why is the body one long line?

Because it is the page's text with the markup taken out, joined together — every text node in the body, in document order. That includes navigation, footers and anything else made of words, so treat it as raw text rather than as the article. If you want readable prose with headings and links intact, use URL to Markdown instead.

Does it run JavaScript on the page?

No. It fetches the server-rendered HTML and reads that. A page that builds itself entirely in the browser will come back close to empty, which is the same trade-off any server-side fetch makes.

Can my AI agent call this directly?

Yes. On a Magic cloudlet every endpoint is also an MCP tool, filtered by role, so an agent can pull structured data out of a page the same way this page does.