Visible content
<div class="price-card"> <h3>Starter</h3> <div>£19/mo</div> <div>5,000 successful requests / month</div> </div>
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.
Example prompt: Extract the pricing plans as JSON with plan name, monthly price, request allowance, and included features.
<div class="price-card"> <h3>Starter</h3> <div>£19/mo</div> <div>5,000 successful requests / month</div> </div>
{
"plans": [
{
"name": "Starter",
"price": "£19/mo",
"allowance": "5,000 successful requests / month",
"features": ["Public extraction"],
"notes": null
}
]
}Public marketing pages, docs pages, pricing pages, simple product pages, visible tables, and public JSON or XML endpoints.
JavaScript-rendered public pages when the rendered content is visible to a browser session.
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.
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.
Using an MCP client instead of direct REST? Start from MCP server for web scraping and keep the same prompt shape.
More extraction recipes: recipes, capability guide.