url to json

Turn a public web page into structured JSON.

No selector drama. Send a URL and prompt, get back structured JSON your app or agent can use. Start with the no-key demo, create a free key, then copy one real extraction command.

extraction pathlive
Input
public URL plus prompt
simple
Output
structured JSON fields
usable
Best first call
https://example.com
safe
before and after

Proof with a real page shape.

Example prompt: Extract the pricing plans as JSON with plan name, monthly price, request allowance, and included features.

before

Visible content

public html excerpt
<div class="price-card">
  <h3>Starter</h3>
  <div>£19/mo</div>
  <div>5,000 successful requests / month</div>
</div>
after

Structured result

json output
{
  "plans": [
    {
      "name": "Starter",
      "price": "£19/mo",
      "allowance": "5,000 successful requests / month",
      "features": ["Public extraction"],
      "notes": null
    }
  ]
}
boundaries

What works, what sometimes works, and clean failure.

Works well

Public marketing pages, docs pages, pricing pages, simple product pages, visible tables, and public JSON or XML endpoints.

Sometimes works

JavaScript-rendered public pages when the rendered content is visible to a browser session.

Clean failure

Login-required pages, CAPTCHA or human verification, private pages, thin public shells, and blocked targets. Haunt reports the failure class, it does not invent data.

api first

Run one real call.

REST call

first call curl
curl -X POST https://hauntapi.com/v1/extract \
  -H "Content-Type: application/json" \
  -H "X-API-Key: PASTE" \
  -d '{"url":"https://example.com","prompt":"Extract the page title and pricing plans as JSON"}'

Need a deeper walkthrough: open first-call docs.

free key

Get the key and ship one extraction while intent is hot.

Free tier gives 100 successful public-page requests per month. No credit card.

Then continue with docs or agents.